Removed 0 files Compiling proc-macro2 v1.0.107 Compiling quote v1.0.47 Compiling unicode-ident v1.0.24 Compiling serde_core v1.0.229 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/proc-macro2-23e0af302c3e6e86/build_script_build-23e0af302c3e6e86.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/unicode_ident-b51d958422b8629e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/serde_core-f1c0d26bad78c830/build_script_build-f1c0d26bad78c830.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/quote-6d0f2d35d9d87bae/build_script_build-6d0f2d35d9d87bae.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libunicode_ident-b51d958422b8629e.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libunicode_ident-b51d958422b8629e.rlib","emit":"link"} Compiling serde v1.0.229 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/serde-3a4c60a773eb239f/build_script_build-3a4c60a773eb239f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/quote-6d0f2d35d9d87bae/build_script_build-6d0f2d35d9d87bae","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/proc-macro2-23e0af302c3e6e86/build_script_build-23e0af302c3e6e86","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/serde_core-f1c0d26bad78c830/build_script_build-f1c0d26bad78c830","emit":"link"} Checking cfg-if v1.0.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/cfg_if-53720ad9c63678dc.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcfg_if-53720ad9c63678dc.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/serde-3a4c60a773eb239f/build_script_build-3a4c60a773eb239f","emit":"link"} Compiling version_check v0.9.5 Compiling libc v0.2.189 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/version_check-5f97cbb3a52ef663.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/libc-60847fb83133087f/build_script_build-60847fb83133087f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/proc_macro2-fde2e49bd843e08e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libversion_check-5f97cbb3a52ef663.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libversion_check-5f97cbb3a52ef663.rlib","emit":"link"} Checking stable_deref_trait v1.2.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/stable_deref_trait-578b0bec683ffc22.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libstable_deref_trait-578b0bec683ffc22.rmeta","emit":"metadata"} Compiling generic-array v0.14.7 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/serde_core-367d4332609fd3ba.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/libc-60847fb83133087f/build_script_build-60847fb83133087f","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/generic-array-01c7701ab4fba5e2/build_script_build-01c7701ab4fba5e2.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libproc_macro2-fde2e49bd843e08e.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/generic-array-01c7701ab4fba5e2/build_script_build-01c7701ab4fba5e2","emit":"link"} Checking typenum v1.20.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libproc_macro2-fde2e49bd843e08e.rlib","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libc-bb53364341b7c54e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/typenum-3f0f39f6619cbb19.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/quote-3259d3a092883fc8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libquote-3259d3a092883fc8.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libquote-3259d3a092883fc8.rlib","emit":"link"} Compiling syn v2.0.119 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/syn-878fc25fa83b7f8a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtypenum-3f0f39f6619cbb19.rmeta","emit":"metadata"} Compiling syn v3.0.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/syn-53a8550ebc4f2ffd.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libserde_core-367d4332609fd3ba.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblibc-bb53364341b7c54e.rmeta","emit":"metadata"} Compiling autocfg v1.5.1 Checking subtle v2.6.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/subtle-20e09e6ea8f0c40e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/autocfg-6fa5eb0f5051b773.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsubtle-20e09e6ea8f0c40e.rmeta","emit":"metadata"} Compiling libm v0.2.16 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/libm-6d012bac435319d0/build_script_build-6d012bac435319d0.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libautocfg-6fa5eb0f5051b773.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/libm-6d012bac435319d0/build_script_build-6d012bac435319d0","emit":"link"} Compiling thiserror v2.0.20 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/thiserror-b1a0e37318411b49/build_script_build-b1a0e37318411b49.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libautocfg-6fa5eb0f5051b773.rlib","emit":"link"} Checking either v1.18.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/either-a1c2dad8e4f111e2.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libeither-a1c2dad8e4f111e2.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/thiserror-b1a0e37318411b49/build_script_build-b1a0e37318411b49","emit":"link"} Checking writeable v0.6.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/writeable-02ae492c41a10f5b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libm-e19d32b7285b7eb1.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libwriteable-02ae492c41a10f5b.rmeta","emit":"metadata"} Checking bitflags v2.13.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/bitflags-d14f4833b5df4de4.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbitflags-d14f4833b5df4de4.rmeta","emit":"metadata"} Checking litemap v0.8.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/litemap-52ef148186e3f827.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblitemap-52ef148186e3f827.rmeta","emit":"metadata"} Checking const-oid v0.9.6 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/const_oid-36851d0d9c16bf7f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libconst_oid-36851d0d9c16bf7f.rmeta","emit":"metadata"} Compiling crossbeam-utils v0.8.22 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/crossbeam-utils-2defbb8b4e530175/build_script_build-2defbb8b4e530175.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblibm-e19d32b7285b7eb1.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/crossbeam-utils-2defbb8b4e530175/build_script_build-2defbb8b4e530175","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/serde_core-ab6e800ad5eb0d96/build_script_build-ab6e800ad5eb0d96.d","emit":"dep-info"} Compiling num-traits v0.2.19 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/num-traits-0cd57a1faf6cc4bb/build_script_build-0cd57a1faf6cc4bb.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/num-traits-0cd57a1faf6cc4bb/build_script_build-0cd57a1faf6cc4bb","emit":"link"} Checking smallvec v1.15.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/serde_core-ab6e800ad5eb0d96/build_script_build-ab6e800ad5eb0d96","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/smallvec-0b45c9ab13bd0b5d.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/serde-dc6626e54542741e/build_script_build-dc6626e54542741e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsmallvec-0b45c9ab13bd0b5d.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/serde-dc6626e54542741e/build_script_build-dc6626e54542741e","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/serde_core-7eb44c58f6729b7f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/crossbeam_utils-0db02be16d2ab43b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcrossbeam_utils-0db02be16d2ab43b.rmeta","emit":"metadata"} Checking getrandom v0.2.17 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/getrandom-243eb6fa6a22e027.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libgetrandom-243eb6fa6a22e027.rmeta","emit":"metadata"} Compiling winnow v1.0.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/winnow-8d43e79d157fdf63.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsyn-878fc25fa83b7f8a.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsyn-53a8550ebc4f2ffd.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libwinnow-8d43e79d157fdf63.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libwinnow-8d43e79d157fdf63.rlib","emit":"link"} Checking rand_core v0.6.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rand_core-d13946309d958a64.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librand_core-d13946309d958a64.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/num_traits-a0912411879904a1.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libserde_core-7eb44c58f6729b7f.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libserde_core-7eb44c58f6729b7f.rlib","emit":"link"} Checking pin-project-lite v0.2.17 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/pin_project_lite-3f5242c8b55b6a06.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpin_project_lite-3f5242c8b55b6a06.rmeta","emit":"metadata"} Compiling equivalent v1.0.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/equivalent-5287b417f41b7fa9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libequivalent-5287b417f41b7fa9.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libequivalent-5287b417f41b7fa9.rlib","emit":"link"} Compiling hashbrown v0.17.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/hashbrown-4c7a562e76321eea.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsyn-878fc25fa83b7f8a.rlib","emit":"link"} Compiling zeroize_derive v1.5.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libnum_traits-a0912411879904a1.rmeta","emit":"metadata"} Compiling synstructure v0.13.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zeroize_derive-784b04a9ad683086.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsyn-53a8550ebc4f2ffd.rlib","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/synstructure-c243805c3522fb0d.d","emit":"dep-info"} Compiling serde_derive v1.0.229 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libhashbrown-4c7a562e76321eea.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libhashbrown-4c7a562e76321eea.rlib","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsynstructure-c243805c3522fb0d.rmeta","emit":"metadata"} Compiling displaydoc v0.2.7 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/displaydoc-aed3379689c2874f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzeroize_derive-784b04a9ad683086.so","emit":"link"} Checking zeroize v1.9.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/serde_derive-03a6d04d1548209f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zeroize-fddf7cd849700b3a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsynstructure-c243805c3522fb0d.rlib","emit":"link"} Compiling zerofrom-derive v0.1.7 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzeroize-fddf7cd849700b3a.rmeta","emit":"metadata"} Compiling yoke-derive v0.8.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zerofrom_derive-1d916b39f0a8bf59.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/yoke_derive-cb0deaa19b991084.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libdisplaydoc-aed3379689c2874f.so","emit":"link"} Compiling zerovec-derive v0.11.6 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zerovec_derive-f8e7d42ba9f9421e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libyoke_derive-cb0deaa19b991084.so","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/generic_array-0d9477fd1a8518cc.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzerofrom_derive-1d916b39f0a8bf59.so","emit":"link"} Checking zerofrom v0.1.8 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zerofrom-ac2525f340a4a224.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzerofrom-ac2525f340a4a224.rmeta","emit":"metadata"} Checking yoke v0.8.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/yoke-84f4f6b2a4c8acda.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzerovec_derive-f8e7d42ba9f9421e.so","emit":"link"} Compiling thiserror-impl v2.0.20 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libyoke-84f4f6b2a4c8acda.rmeta","emit":"metadata"} Compiling enumflags2_derive v0.7.12 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/enumflags2_derive-20a8b3d341abf36a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/thiserror_impl-9e86e1ecc56b0c12.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libgeneric_array-0d9477fd1a8518cc.rmeta","emit":"metadata"} Checking crypto-common v0.1.7 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/crypto_common-23b084bde85218b8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcrypto_common-23b084bde85218b8.rmeta","emit":"metadata"} Checking block-buffer v0.10.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/block_buffer-c25705b16c9bc310.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libblock_buffer-c25705b16c9bc310.rmeta","emit":"metadata"} Checking digest v0.10.7 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/digest-cff4e5c6755444f8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libenumflags2_derive-20a8b3d341abf36a.so","emit":"link"} Compiling indexmap v2.14.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libdigest-cff4e5c6755444f8.rmeta","emit":"metadata"} Compiling toml_parser v1.1.3+spec-1.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/toml_parser-3d3b44a171f83be6.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/indexmap-a5c1d431842fe065.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtoml_parser-3d3b44a171f83be6.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtoml_parser-3d3b44a171f83be6.rlib","emit":"link"} Checking base64ct v1.8.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libindexmap-a5c1d431842fe065.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libindexmap-a5c1d431842fe065.rlib","emit":"link"} Compiling toml_datetime v1.1.1+spec-1.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/base64ct-da46f42fc7cfbbe8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libserde_derive-03a6d04d1548209f.so","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/toml_datetime-00a5e433fc1653b0.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libthiserror_impl-9e86e1ecc56b0c12.so","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/thiserror-f6cd0102ee8d150f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libthiserror-f6cd0102ee8d150f.rmeta","emit":"metadata"} Checking cobs v0.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtoml_datetime-00a5e433fc1653b0.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbase64ct-da46f42fc7cfbbe8.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/serde-f5d73b36996287a9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/cobs-6aa41115a114a01e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtoml_datetime-00a5e433fc1653b0.rlib","emit":"link"} Compiling toml_edit v0.25.13+spec-1.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcobs-6aa41115a114a01e.rmeta","emit":"metadata"} Checking pem-rfc7468 v0.7.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/serde-cc24ad25061fc65f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/pem_rfc7468-f40614d58fef94e2.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/toml_edit-84f46998af7ad6da.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpem_rfc7468-f40614d58fef94e2.rmeta","emit":"metadata"} Checking cpufeatures v0.2.17 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/cpufeatures-f1d4947cbefd831a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcpufeatures-f1d4947cbefd831a.rmeta","emit":"metadata"} Compiling semver v1.0.28 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/semver-43bb8692278ce934.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libserde-f5d73b36996287a9.rmeta","emit":"metadata"} Checking zerovec v0.11.8 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsemver-43bb8692278ce934.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsemver-43bb8692278ce934.rlib","emit":"link"} Checking postcard v1.1.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libserde-cc24ad25061fc65f.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libserde-cc24ad25061fc65f.rlib","emit":"link"} Compiling zvariant_utils v4.2.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zerovec-84e12d5f7df03200.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/postcard-124b5821bdb8464f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtoml_edit-84f46998af7ad6da.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zvariant_utils-feee5739a4936f1b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpostcard-124b5821bdb8464f.rmeta","emit":"metadata"} Compiling rustc_version v0.4.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rustc_version-fa2bcfaa3617c0e3.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librustc_version-fa2bcfaa3617c0e3.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librustc_version-fa2bcfaa3617c0e3.rlib","emit":"link"} Checking enumflags2 v0.7.12 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/enumflags2-2afac65fcf1ed626.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtoml_edit-84f46998af7ad6da.rlib","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libenumflags2-2afac65fcf1ed626.rmeta","emit":"metadata"} Checking der v0.7.10 Compiling proc-macro-crate v3.5.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzvariant_utils-feee5739a4936f1b.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/proc_macro_crate-46cfc241a0f39da0.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/der-c8a8256c54eaced2.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libproc_macro_crate-46cfc241a0f39da0.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzerovec-84e12d5f7df03200.rmeta","emit":"metadata"} Checking tinystr v0.8.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/tinystr-858f51a9f1167f33.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzvariant_utils-feee5739a4936f1b.rlib","emit":"link"} Checking zerotrie v0.2.5 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libproc_macro_crate-46cfc241a0f39da0.rlib","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtinystr-858f51a9f1167f33.rmeta","emit":"metadata"} Checking potential_utf v0.1.6 Checking icu_locale_core v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/potential_utf-20f12e6e131dda75.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zerotrie-52d991ef0ba6d175.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpotential_utf-20f12e6e131dda75.rmeta","emit":"metadata"} Checking parking v2.2.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/parking-e28e1493e7a486a5.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libparking-e28e1493e7a486a5.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_locale_core-6ac4c9a38d94b9ba.d","emit":"dep-info"} Checking simd-adler32 v0.3.10 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/simd_adler32-5e6383ec00d7dd71.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsimd_adler32-5e6383ec00d7dd71.rmeta","emit":"metadata"} Checking log v0.4.34 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libder-c8a8256c54eaced2.rmeta","emit":"metadata"} Checking spki v0.7.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/log-e8a3dcdbeeb71d20.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzerotrie-52d991ef0ba6d175.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/spki-136e30a2dce9abca.d","emit":"dep-info"} Compiling zvariant_derive v5.15.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblog-e8a3dcdbeeb71d20.rmeta","emit":"metadata"} Checking futures-core v0.3.34 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zvariant_derive-fc28977d8b9647c3.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libspki-136e30a2dce9abca.rmeta","emit":"metadata"} Compiling icu_locale_fallback_data v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/futures_core-871f03d1f31777cf.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_locale_fallback_data-dbf8142615ac0301/build_script_build-dbf8142615ac0301.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfutures_core-871f03d1f31777cf.rmeta","emit":"metadata"} Checking utf8_iter v1.0.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/utf8_iter-6047628159386e2d.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_locale_fallback_data-dbf8142615ac0301/build_script_build-dbf8142615ac0301","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libutf8_iter-6047628159386e2d.rmeta","emit":"metadata"} Checking pkcs5 v0.7.1 Checking icu_collections v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/pkcs5-88792cfd540dcfa3.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzvariant_derive-fc28977d8b9647c3.so","emit":"link"} Compiling rustix v1.1.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_collections-4f8a86db99fed7f3.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/rustix-f6849d5f865bd5f5/build_script_build-f6849d5f865bd5f5.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpkcs5-88792cfd540dcfa3.rmeta","emit":"metadata"} Compiling crc32fast v1.5.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/crc32fast-0815ea9313eff9a3/build_script_build-0815ea9313eff9a3.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_locale_core-6ac4c9a38d94b9ba.rmeta","emit":"metadata"} Checking icu_provider v2.3.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/rustix-f6849d5f865bd5f5/build_script_build-f6849d5f865bd5f5","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_collections-4f8a86db99fed7f3.rmeta","emit":"metadata"} Checking adler2 v2.0.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_provider-aa04892b55dc2bd2.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/crc32fast-0815ea9313eff9a3/build_script_build-0815ea9313eff9a3","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/adler2-2694f079c0751ddd.d","emit":"dep-info"} Checking pkcs8 v0.10.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libadler2-2694f079c0751ddd.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_locale_fallback_data-b3e1374761244576.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_locale_fallback_data-b3e1374761244576.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/pkcs8-4fab786d14dc91b3.d","emit":"dep-info"} Compiling zerocopy v0.8.56 Checking once_cell v1.21.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/zerocopy-9a5a5591a412bb01/build_script_build-9a5a5591a412bb01.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpkcs8-4fab786d14dc91b3.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/once_cell-eccb0cae5047368d.d","emit":"dep-info"} Checking linux-raw-sys v0.12.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_provider-aa04892b55dc2bd2.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libonce_cell-eccb0cae5047368d.rmeta","emit":"metadata"} Compiling icu_properties_data v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_properties_data-c0128697cab37843/build_script_build-c0128697cab37843.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/unicode_ident-d1f66ab5dd4362dd.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libunicode_ident-d1f66ab5dd4362dd.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_properties_data-c0128697cab37843/build_script_build-c0128697cab37843","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/zerocopy-9a5a5591a412bb01/build_script_build-9a5a5591a412bb01","emit":"link"} Checking icu_locale_fallback v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/proc_macro2-861a490cb1513db9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/linux_raw_sys-87edd69a4865ba61.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_locale_fallback-8f7e51fef47daa49.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/crc32fast-e6602aebc068eb59.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcrc32fast-e6602aebc068eb59.rmeta","emit":"metadata"} Compiling zerocopy-derive v0.8.56 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_locale_fallback-8f7e51fef47daa49.rmeta","emit":"metadata"} Checking uuid v1.26.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/uuid-b5d3bb7c04aecb81.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libproc_macro2-861a490cb1513db9.rmeta","emit":"metadata"} Checking static_assertions v1.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/static_assertions-9501c9d83de044d4.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libstatic_assertions-9501c9d83de044d4.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zerocopy_derive-53198fa0c938b5e3.d","emit":"dep-info"} Checking fastrand v2.5.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/fastrand-939ec1514d1441f8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libuuid-b5d3bb7c04aecb81.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfastrand-939ec1514d1441f8.rmeta","emit":"metadata"} Checking memchr v2.8.3 Checking futures-io v0.3.34 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/futures_io-f1a3e1e124e64d0c.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfutures_io-f1a3e1e124e64d0c.rmeta","emit":"metadata"} Compiling icu_normalizer_data v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/memchr-65bf9622dfb7029f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_normalizer_data-60f0e96c55f8537e/build_script_build-60f0e96c55f8537e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_normalizer_data-60f0e96c55f8537e/build_script_build-60f0e96c55f8537e","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/quote-9fffa7918847cadb.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libquote-9fffa7918847cadb.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libmemchr-65bf9622dfb7029f.rmeta","emit":"metadata"} Checking miniz_oxide v0.9.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_properties_data-311e8e0a02cb0f9f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_properties_data-311e8e0a02cb0f9f.rmeta","emit":"metadata"} Checking event-listener v5.4.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/miniz_oxide-bd82435fbf5f923d.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/event_listener-fb16eb49efe5e1bb.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libevent_listener-fb16eb49efe5e1bb.rmeta","emit":"metadata"} Compiling zcheapstr v1.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zcheapstr-da9ee7ef8ce0bc2c.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzcheapstr-da9ee7ef8ce0bc2c.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libminiz_oxide-bd82435fbf5f923d.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzcheapstr-da9ee7ef8ce0bc2c.rlib","emit":"link"} Checking concurrent-queue v2.5.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/enumflags2-198845b65987ed98.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/concurrent_queue-c883f7e308ba1f59.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblinux_raw_sys-87edd69a4865ba61.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libconcurrent_queue-c883f7e308ba1f59.rmeta","emit":"metadata"} Compiling endi v1.1.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libenumflags2-198845b65987ed98.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libenumflags2-198845b65987ed98.rlib","emit":"link"} Checking flate2 v1.1.10 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/endi-073584a2553256fe.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libendi-073584a2553256fe.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/flate2-21e5b56ab4b44d82.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libendi-073584a2553256fe.rlib","emit":"link"} Compiling zvariant v5.15.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzerocopy_derive-53198fa0c938b5e3.so","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zvariant-154725c0cdd2f1fb.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libflate2-21e5b56ab4b44d82.rmeta","emit":"metadata"} Checking event-listener-strategy v0.5.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/event_listener_strategy-ce78ef069eebdebb.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libevent_listener_strategy-ce78ef069eebdebb.rmeta","emit":"metadata"} Checking icu_properties v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rustix-d6075fda25fe2f5c.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_properties-fc28f43166341f3f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zerocopy-ad6632cbce3f3bdb.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_properties-fc28f43166341f3f.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/syn-a5f7c3366e56059c.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzvariant-154725c0cdd2f1fb.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzvariant-154725c0cdd2f1fb.rlib","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_normalizer_data-38f42a750a803249.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_normalizer_data-38f42a750a803249.rmeta","emit":"metadata"} Checking futures-lite v2.6.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/futures_lite-d27e11734b3defc9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfutures_lite-d27e11734b3defc9.rmeta","emit":"metadata"} Checking euclid v0.22.14 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librustix-d6075fda25fe2f5c.rmeta","emit":"metadata"} Checking hmac v0.12.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/hmac-df136790648dc62f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libhmac-df136790648dc62f.rmeta","emit":"metadata"} Compiling proc-macro2-diagnostics v0.10.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/euclid-a4d13d66d8408520.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/proc-macro2-diagnostics-97815c64abf3cb57/build_script_build-97815c64abf3cb57.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/proc-macro2-diagnostics-97815c64abf3cb57/build_script_build-97815c64abf3cb57","emit":"link"} Checking rclip-core v0.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rclip_core-d17d8a67df5da497.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librclip_core-d17d8a67df5da497.rmeta","emit":"metadata"} Checking rustc-hash v2.1.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rustc_hash-009169114db54d21.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librustc_hash-009169114db54d21.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/winnow-784ee732e1445a3b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsyn-a5f7c3366e56059c.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzerocopy-ad6632cbce3f3bdb.rmeta","emit":"metadata"} Checking utf16_iter v1.0.5 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/utf16_iter-4149badc56c366a5.d","emit":"dep-info"} Checking write16 v1.0.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libutf16_iter-4149badc56c366a5.rmeta","emit":"metadata"} Checking slab v0.4.12 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/write16-a86293951df9bb79.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libwrite16-a86293951df9bb79.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/slab-ac472a8dbceb82f8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libeuclid-a4d13d66d8408520.rmeta","emit":"metadata"} Checking icu_normalizer v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libslab-ac472a8dbceb82f8.rmeta","emit":"metadata"} Compiling zbus_names v4.3.4 Compiling pathfinder_simd v0.5.6 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_normalizer-944ffc4b854ad05c.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/pathfinder_simd-62c31f06eff05e9c/build_script_build-62c31f06eff05e9c.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zbus_names-f9c6a636faa0dcf0.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/pathfinder_simd-62c31f06eff05e9c/build_script_build-62c31f06eff05e9c","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zcheapstr-d90983d02ae848ff.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzcheapstr-d90983d02ae848ff.rmeta","emit":"metadata"} Checking signature v2.2.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/signature-ad571f71bc373b5e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsignature-ad571f71bc373b5e.rmeta","emit":"metadata"} Checking inout v0.1.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_normalizer-944ffc4b854ad05c.rmeta","emit":"metadata"} Checking ff v0.13.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/inout-21e80cf403c0f09e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/ff-458fe60524e88341.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libinout-21e80cf403c0f09e.rmeta","emit":"metadata"} Compiling async-io v2.6.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libff-458fe60524e88341.rmeta","emit":"metadata"} Compiling yansi v1.0.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/async-io-40675f6553e00aab/build_script_build-40675f6553e00aab.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzbus_names-f9c6a636faa0dcf0.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libwinnow-784ee732e1445a3b.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/yansi-1c44cd1636c6573c.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/async-io-40675f6553e00aab/build_script_build-40675f6553e00aab","emit":"link"} Checking base16ct v0.2.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/base16ct-ad523a668a3fec59.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbase16ct-ad523a668a3fec59.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzbus_names-f9c6a636faa0dcf0.rlib","emit":"link"} Checking sec1 v0.7.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/endi-ca462c09a46d2385.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zvariant_utils-b34b4ffad1dd09db.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libyansi-1c44cd1636c6573c.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/sec1-e2e828aec201de0b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libendi-ca462c09a46d2385.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libyansi-1c44cd1636c6573c.rlib","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/proc_macro2_diagnostics-1a5011deff280f2f.d","emit":"dep-info"} Checking group v0.13.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsec1-e2e828aec201de0b.rmeta","emit":"metadata"} Checking cipher v0.4.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/group-5de2f852183b21bb.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libproc_macro2_diagnostics-1a5011deff280f2f.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/cipher-d17adce24fafb136.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libgroup-5de2f852183b21bb.rmeta","emit":"metadata"} Checking hkdf v0.12.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libproc_macro2_diagnostics-1a5011deff280f2f.rlib","emit":"link"} Checking polling v3.11.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcipher-d17adce24fafb136.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/hkdf-9271463769db0320.d","emit":"dep-info"} Checking unic-langid-impl v0.9.6 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/polling-b538b838facb51ed.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzvariant_utils-b34b4ffad1dd09db.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libhkdf-9271463769db0320.rmeta","emit":"metadata"} Checking universal-hash v0.5.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/unic_langid_impl-648986245aff125f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/universal_hash-8a4802e47ba6afa0.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpolling-b538b838facb51ed.rmeta","emit":"metadata"} Checking crypto-bigint v0.5.5 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libuniversal_hash-8a4802e47ba6afa0.rmeta","emit":"metadata"} Checking rustls-pki-types v1.15.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libunic_langid_impl-648986245aff125f.rmeta","emit":"metadata"} Checking core_maths v0.1.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/core_maths-2668d3f388471ea8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rustls_pki_types-9df37ad81f96b127.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcore_maths-2668d3f388471ea8.rmeta","emit":"metadata"} Checking errno v0.3.14 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zvariant-3f4bb266de339eec.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/crypto_bigint-8869fb8333c6c30d.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/errno-a807fa454dcc9a8b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liberrno-a807fa454dcc9a8b.rmeta","emit":"metadata"} Compiling unicode-general-category v1.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/unicode-general-category-04de3fb270b0386a/build_script_build-04de3fb270b0386a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librustls_pki_types-9df37ad81f96b127.rmeta","emit":"metadata"} Compiling unicode-canonical-combining-class v1.0.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/unicode-canonical-combining-class-0b8026a336e217ad/build_script_build-0b8026a336e217ad.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/unicode-general-category-04de3fb270b0386a/build_script_build-04de3fb270b0386a","emit":"link"} Compiling icu_calendar_data v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_calendar_data-4c7252cd38e8f614/build_script_build-4c7252cd38e8f614.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/unicode-canonical-combining-class-0b8026a336e217ad/build_script_build-0b8026a336e217ad","emit":"link"} Checking alloc-no-stdlib v2.0.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/alloc_no_stdlib-89909d79bda58117.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_calendar_data-4c7252cd38e8f614/build_script_build-4c7252cd38e8f614","emit":"link"} Compiling unicode-joining-type v1.0.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liballoc_no_stdlib-89909d79bda58117.rmeta","emit":"metadata"} Checking tinyvec_macros v0.1.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/unicode-joining-type-c5504aad6a058abc/build_script_build-c5504aad6a058abc.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/tinyvec_macros-24434991b63d5e89.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtinyvec_macros-24434991b63d5e89.rmeta","emit":"metadata"} Checking async-task v4.7.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/async_task-07f3c52ef2c01b57.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libasync_task-07f3c52ef2c01b57.rmeta","emit":"metadata"} Checking opaque-debug v0.3.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/opaque_debug-300a5aa09e666a61.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libopaque_debug-300a5aa09e666a61.rmeta","emit":"metadata"} Compiling heck v0.4.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/unicode-joining-type-c5504aad6a058abc/build_script_build-c5504aad6a058abc","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/heck-33dfc2463293ac40.d","emit":"dep-info"} Checking itoa v1.0.18 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/itoa-21a5421cb9ec9f91.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libheck-33dfc2463293ac40.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libitoa-21a5421cb9ec9f91.rmeta","emit":"metadata"} Checking arrayvec v0.7.8 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libheck-33dfc2463293ac40.rlib","emit":"link"} Compiling ouroboros_macro v0.18.5 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/arrayvec-02b5a41e863e89f9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libarrayvec-02b5a41e863e89f9.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcrypto_bigint-8869fb8333c6c30d.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/ouroboros_macro-a073ece212601ffc.d","emit":"dep-info"} Checking elliptic-curve v0.13.8 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/elliptic_curve-3cc33ff125024583.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libelliptic_curve-3cc33ff125024583.rmeta","emit":"metadata"} Checking tinyvec v1.12.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/tinyvec-a2e6d736e9cc1aea.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzvariant-3f4bb266de339eec.rmeta","emit":"metadata"} Checking alloc-stdlib v0.2.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zbus_names-3427a76250c101af.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtinyvec-a2e6d736e9cc1aea.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/alloc_stdlib-35ee75372b20215f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liballoc_stdlib-35ee75372b20215f.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzbus_names-3427a76250c101af.rmeta","emit":"metadata"} Checking signal-hook-registry v1.4.8 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/signal_hook_registry-96d1f535a96439e0.d","emit":"dep-info"} Checking unic-langid v0.9.6 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsignal_hook_registry-96d1f535a96439e0.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libouroboros_macro-a073ece212601ffc.so","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/unic_langid-65499aa885ede7f6.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libunic_langid-65499aa885ede7f6.rmeta","emit":"metadata"} Checking ppv-lite86 v0.2.21 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/async_io-f45627976e66faac.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/pathfinder_simd-8ffc9eec0eef3129.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/ppv_lite86-939cc5b46ae87230.d","emit":"dep-info"} Checking async-channel v2.5.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/async_channel-2895f42fccc1b981.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libasync_io-f45627976e66faac.rmeta","emit":"metadata"} Compiling curve25519-dalek v4.1.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libasync_channel-2895f42fccc1b981.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/curve25519-dalek-e5d8826009e8c1d4/build_script_build-e5d8826009e8c1d4.d","emit":"dep-info"} Checking sha2 v0.10.9 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libppv_lite86-939cc5b46ae87230.rmeta","emit":"metadata"} Checking untrusted v0.9.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/untrusted-11232ab42e7ea4b7.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/sha2-d8a2a67656ef2e3f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libuntrusted-11232ab42e7ea4b7.rmeta","emit":"metadata"} Checking atomic-waker v1.1.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpathfinder_simd-8ffc9eec0eef3129.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/curve25519-dalek-e5d8826009e8c1d4/build_script_build-e5d8826009e8c1d4","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/atomic_waker-18b5353a0449c938.d","emit":"dep-info"} Compiling zmij v1.0.23 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libatomic_waker-18b5353a0449c938.rmeta","emit":"metadata"} Compiling icu_plurals_data v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/alloc_no_stdlib-dfc37baf9a240785.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/zmij-8875c0c1f7882529/build_script_build-8875c0c1f7882529.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_plurals_data-65cc7a5705276a07/build_script_build-65cc7a5705276a07.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liballoc_no_stdlib-dfc37baf9a240785.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liballoc_no_stdlib-dfc37baf9a240785.rlib","emit":"link"} Checking option-ext v0.2.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/option_ext-7a7bc8fc9df3a2fe.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liboption_ext-7a7bc8fc9df3a2fe.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsha2-d8a2a67656ef2e3f.rmeta","emit":"metadata"} Compiling icu_time_data v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_plurals_data-65cc7a5705276a07/build_script_build-65cc7a5705276a07","emit":"link"} Compiling icu_decimal_data v2.3.0 Checking percent-encoding v2.3.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_time_data-785403ca888e7cd9/build_script_build-785403ca888e7cd9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_decimal_data-a96ff28c185ef6a1/build_script_build-a96ff28c185ef6a1.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/percent_encoding-b2adf7622cfd30e7.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/zmij-8875c0c1f7882529/build_script_build-8875c0c1f7882529","emit":"link"} Checking aliasable v0.1.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/aliasable-3bc0c540b6965f04.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_time_data-785403ca888e7cd9/build_script_build-785403ca888e7cd9","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_decimal_data-a96ff28c185ef6a1/build_script_build-a96ff28c185ef6a1","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpercent_encoding-b2adf7622cfd30e7.rmeta","emit":"metadata"} Checking spin v0.9.9 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libaliasable-3bc0c540b6965f04.rmeta","emit":"metadata"} Checking ouroboros v0.18.5 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/spin-56e37195c3bd8588.d","emit":"dep-info"} Checking dirs-sys v0.5.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/ouroboros-4d347e1e00af639f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libouroboros-4d347e1e00af639f.rmeta","emit":"metadata"} Checking piper v0.2.5 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libspin-56e37195c3bd8588.rmeta","emit":"metadata"} Checking lazy_static v1.5.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/dirs_sys-da7a0b129fd7e490.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/alloc_stdlib-43e97e84b14490e8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/piper-038ac8d6eac8b1a9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libdirs_sys-da7a0b129fd7e490.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/lazy_static-5f290cb8ec18cd33.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liballoc_stdlib-43e97e84b14490e8.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblazy_static-5f290cb8ec18cd33.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liballoc_stdlib-43e97e84b14490e8.rlib","emit":"link"} Checking pathfinder_geometry v0.5.1 Checking rand_chacha v0.3.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpiper-038ac8d6eac8b1a9.rmeta","emit":"metadata"} Checking async-signal v0.2.14 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/pathfinder_geometry-791020a26805b460.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rand_chacha-0dc4621ff7f97f23.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/async_signal-b90b1d01dcf410c9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libasync_signal-b90b1d01dcf410c9.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpathfinder_geometry-791020a26805b460.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/unicode_general_category-6d1cc660aa30cb61.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librand_chacha-0dc4621ff7f97f23.rmeta","emit":"metadata"} Checking brotli-decompressor v5.0.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_calendar_data-0d4409879f864e91.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_calendar_data-0d4409879f864e91.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/unicode_canonical_combining_class-21420c4e81534643.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/unicode_joining_type-9952bf9cf9d55cd4.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/brotli_decompressor-fc8aac56a717a4e9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libunicode_canonical_combining_class-21420c4e81534643.rmeta","emit":"metadata"} Checking lyon_geom v1.0.19 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/lyon_geom-a07d3e95e997f8cc.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libunicode_joining_type-9952bf9cf9d55cd4.rmeta","emit":"metadata"} Checking calendrical_calculations v0.2.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libunicode_general_category-6d1cc660aa30cb61.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/calendrical_calculations-25d396b3fcbdd19c.d","emit":"dep-info"} Compiling zbus_xml v5.2.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zbus_xml-bfda344b8b1ebaf9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblyon_geom-a07d3e95e997f8cc.rmeta","emit":"metadata"} Checking idna_adapter v1.2.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/idna_adapter-1d072fd701396bf6.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcalendrical_calculations-25d396b3fcbdd19c.rmeta","emit":"metadata"} Checking rfc6979 v0.4.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libidna_adapter-1d072fd701396bf6.rmeta","emit":"metadata"} Checking async-lock v3.4.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rfc6979-d69282b4ab9af702.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbrotli_decompressor-fc8aac56a717a4e9.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librfc6979-d69282b4ab9af702.rmeta","emit":"metadata"} Checking tracing-core v0.1.36 Checking fixed_decimal v0.7.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/tracing_core-2aa7b239c19c10da.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/async_lock-c9cad956d6f91dbc.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/fixed_decimal-f481c82b355fce01.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfixed_decimal-f481c82b355fce01.rmeta","emit":"metadata"} Checking num-integer v0.1.47 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtracing_core-2aa7b239c19c10da.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/num_integer-580e36b9b90e48ae.d","emit":"dep-info"} Compiling curve25519-dalek-derive v0.1.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzbus_xml-bfda344b8b1ebaf9.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/curve25519_dalek_derive-32e2262a00a019d2.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libasync_lock-c9cad956d6f91dbc.rmeta","emit":"metadata"} Compiling tracing-attributes v0.1.31 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libnum_integer-580e36b9b90e48ae.rmeta","emit":"metadata"} Checking encoding_rs v0.8.35 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/tracing_attributes-4b250f645bf204e5.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzbus_xml-bfda344b8b1ebaf9.rlib","emit":"link"} Checking ucd-trie v0.1.7 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcurve25519_dalek_derive-32e2262a00a019d2.so","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/ucd_trie-95d41161cb0f46d6.d","emit":"dep-info"} Compiling num-bigint-dig v0.8.6 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/encoding_rs-cf34cf53e64ca0db.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/num-bigint-dig-f66ac2356f1a8c7f/build_script_build-f66ac2356f1a8c7f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libucd_trie-95d41161cb0f46d6.rmeta","emit":"metadata"} Compiling icu_casemap_data v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_casemap_data-53bd3e9f16676cd0/build_script_build-53bd3e9f16676cd0.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/num-bigint-dig-f66ac2356f1a8c7f/build_script_build-f66ac2356f1a8c7f","emit":"link"} Compiling rustls v0.23.45 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/rustls-7ac8f01b0c3c26f1/build_script_build-7ac8f01b0c3c26f1.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_casemap_data-53bd3e9f16676cd0/build_script_build-53bd3e9f16676cd0","emit":"link"} Checking glyph-names v0.2.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/rustls-7ac8f01b0c3c26f1/build_script_build-7ac8f01b0c3c26f1","emit":"link"} Compiling icu_locale_data v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/glyph_names-730abe06edc36037.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_locale_data-a05172c9582b1756/build_script_build-a05172c9582b1756.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libglyph_names-730abe06edc36037.rmeta","emit":"metadata"} Compiling crossbeam-epoch v0.9.20 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_locale_data-a05172c9582b1756/build_script_build-a05172c9582b1756","emit":"link"} Compiling icu_list_data v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/crossbeam-epoch-8797ddacf00b3634/build_script_build-8797ddacf00b3634.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_list_data-944a3fe891358316/build_script_build-944a3fe891358316.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_list_data-944a3fe891358316/build_script_build-944a3fe891358316","emit":"link"} Compiling icu_collator_data v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/crossbeam-epoch-8797ddacf00b3634/build_script_build-8797ddacf00b3634","emit":"link"} Compiling httparse v1.10.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_collator_data-add3b74fbbb312f9/build_script_build-add3b74fbbb312f9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/httparse-1ef1cae040504a2b/build_script_build-1ef1cae040504a2b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_collator_data-add3b74fbbb312f9/build_script_build-add3b74fbbb312f9","emit":"link"} Compiling serde_json v1.0.151 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/serde_json-a76054981f467496/build_script_build-a76054981f467496.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libencoding_rs-cf34cf53e64ca0db.rmeta","emit":"metadata"} Checking ixdtf v0.6.6 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/ixdtf-0f8eb0ae26b439db.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/serde_json-a76054981f467496/build_script_build-a76054981f467496","emit":"link"} Compiling icu_segmenter_data v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/httparse-1ef1cae040504a2b/build_script_build-1ef1cae040504a2b","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtracing_attributes-4b250f645bf204e5.so","emit":"link"} Compiling icu_datetime_data v2.3.0 Checking tracing v0.1.44 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_segmenter_data-db18eda575d06b06/build_script_build-db18eda575d06b06.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_datetime_data-cf84a8a186a9fdf9/build_script_build-cf84a8a186a9fdf9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/tracing-54512621e5a6a1ea.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_segmenter_data-db18eda575d06b06/build_script_build-db18eda575d06b06","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/icu_datetime_data-cf84a8a186a9fdf9/build_script_build-cf84a8a186a9fdf9","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libixdtf-0f8eb0ae26b439db.rmeta","emit":"metadata"} Checking allsorts-azul v0.17.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtracing-54512621e5a6a1ea.rmeta","emit":"metadata"} Checking icu_calendar v2.3.0 Compiling zbus-lockstep v0.5.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zbus_lockstep-8e0ff2f4e2a5c06e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzbus_lockstep-8e0ff2f4e2a5c06e.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_calendar-6982d103f7849c89.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzbus_lockstep-8e0ff2f4e2a5c06e.rlib","emit":"link"} Checking num-iter v0.1.46 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/num_iter-eb96b9af5e58f318.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/curve25519_dalek-00dc98f72696f5ba.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libnum_iter-eb96b9af5e58f318.rmeta","emit":"metadata"} Checking async-process v2.5.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/async_process-05aea792aa1329c0.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libasync_process-05aea792aa1329c0.rmeta","emit":"metadata"} Checking ecdsa v0.16.9 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/ecdsa-448fc7facdcefdcc.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/allsorts-a397129e8da9cfc5.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcurve25519_dalek-00dc98f72696f5ba.rmeta","emit":"metadata"} Checking idna v1.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/idna-5b48cf064cd4d1ea.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libecdsa-448fc7facdcefdcc.rmeta","emit":"metadata"} Checking lyon_path v1.0.19 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/lyon_path-2ed453111b7ace81.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libidna-5b48cf064cd4d1ea.rmeta","emit":"metadata"} Checking rand v0.8.8 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rand-0322768ce3511a0f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_calendar-6982d103f7849c89.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblyon_path-2ed453111b7ace81.rmeta","emit":"metadata"} Checking blocking v1.7.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/blocking-10a40e8f3397ca8a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libblocking-10a40e8f3397ca8a.rmeta","emit":"metadata"} Checking dirs v6.0.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/dirs-e80c38a79e83faf3.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libdirs-e80c38a79e83faf3.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/brotli_decompressor-f2f2af760ee56c35.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librand-0322768ce3511a0f.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zmij-03ece8a5a2dc621f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_plurals_data-c7272440601da61e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_plurals_data-c7272440601da61e.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_time_data-1657f9b71ee29143.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_time_data-1657f9b71ee29143.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_decimal_data-6ad6f220dea6d883.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_decimal_data-6ad6f220dea6d883.rmeta","emit":"metadata"} Checking form_urlencoded v1.2.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzmij-03ece8a5a2dc621f.rmeta","emit":"metadata"} Checking rustls-webpki v0.103.15 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/form_urlencoded-899591dbe63bf535.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libform_urlencoded-899591dbe63bf535.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/webpki-922cbb886269e48a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zbus_xml-1e8334bdbbaa825f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libwebpki-922cbb886269e48a.rmeta","emit":"metadata"} Checking primeorder v0.13.6 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/primeorder-789b60008533a0e4.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbrotli_decompressor-f2f2af760ee56c35.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzbus_xml-1e8334bdbbaa825f.rmeta","emit":"metadata"} Checking polyval v0.6.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libprimeorder-789b60008533a0e4.rmeta","emit":"metadata"} Checking async-executor v1.14.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/polyval-e44362bc8db5ca4e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/async_executor-a9f1cf5f6e484390.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpolyval-e44362bc8db5ca4e.rmeta","emit":"metadata"} Compiling zbus_macros v5.19.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbrotli_decompressor-f2f2af760ee56c35.rlib","emit":"link"} Checking type-map v0.5.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libasync_executor-a9f1cf5f6e484390.rmeta","emit":"metadata"} Checking async-broadcast v0.7.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/type_map-c6f884c81eef56d9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/async_broadcast-3e44422a56beb9d8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtype_map-c6f884c81eef56d9.rmeta","emit":"metadata"} Checking accesskit v0.24.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/accesskit-50efb9dfbbae60f7.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libasync_broadcast-3e44422a56beb9d8.rmeta","emit":"metadata"} Checking miniz_oxide v0.8.9 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/miniz_oxide-ac3ac3558acac573.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zbus_macros-21f4bf3a53b22ca6.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libaccesskit-50efb9dfbbae60f7.rmeta","emit":"metadata"} Checking ordered-stream v0.2.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/ordered_stream-596280cfd1624b38.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libminiz_oxide-ac3ac3558acac573.rmeta","emit":"metadata"} Checking bincode v1.3.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/bincode-e6a81a1bb1cdf813.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libordered_stream-596280cfd1624b38.rmeta","emit":"metadata"} Checking aead v0.5.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/aead-38c18daa76413a07.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libaead-38c18daa76413a07.rmeta","emit":"metadata"} Compiling serde_repr v0.1.21 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/serde_repr-989a5493161fed95.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbincode-e6a81a1bb1cdf813.rmeta","emit":"metadata"} Compiling async-trait v0.1.92 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/async_trait-712e798983522b83.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libserde_repr-989a5493161fed95.so","emit":"link"} Compiling async-recursion v1.1.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/async_recursion-96e859d815cd8b5e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libasync_recursion-96e859d815cd8b5e.so","emit":"link"} Checking mmapio v0.9.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/mmapio-035c33a7def92a7a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libasync_trait-712e798983522b83.so","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libmmapio-035c33a7def92a7a.rmeta","emit":"metadata"} Compiling slotmap v1.1.1 Checking hex v0.4.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/slotmap-f7ef14f66cdc4ec9/build_script_build-f7ef14f66cdc4ec9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/hex-2479984656fb28c8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/slotmap-f7ef14f66cdc4ec9/build_script_build-f7ef14f66cdc4ec9","emit":"link"} Compiling siphasher v1.0.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/siphasher-92610e66b1cf05ec.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libhex-2479984656fb28c8.rmeta","emit":"metadata"} Checking weezl v0.1.12 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsiphasher-92610e66b1cf05ec.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/weezl-8979915f373a5a73.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsiphasher-92610e66b1cf05ec.rlib","emit":"link"} Checking quick-error v2.0.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/quick_error-fe50aecacd887e50.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libquick_error-fe50aecacd887e50.rmeta","emit":"metadata"} Checking azul-simplecss v0.2.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/azul_simplecss-82ac1683808efe3b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libweezl-8979915f373a5a73.rmeta","emit":"metadata"} Checking zune-core v0.5.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libazul_simplecss-82ac1683808efe3b.rmeta","emit":"metadata"} Compiling paste v1.0.15 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zune_core-b40ca452cdb8aa2c.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/paste-e94dc8483adfee12/build_script_build-e94dc8483adfee12.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzune_core-b40ca452cdb8aa2c.rmeta","emit":"metadata"} Checking xmlparser v0.13.6 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/paste-e94dc8483adfee12/build_script_build-e94dc8483adfee12","emit":"link"} Compiling crossbeam-deque v0.8.7 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/xmlparser-5cc238b016af640d.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/crossbeam-deque-f69a69008d895df0/build_script_build-f69a69008d895df0.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/crossbeam-deque-f69a69008d895df0/build_script_build-f69a69008d895df0","emit":"link"} Checking bytes v1.12.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libxmlparser-5cc238b016af640d.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/bytes-012989deead46640.d","emit":"dep-info"} Checking zune-jpeg v0.5.15 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzbus_macros-21f4bf3a53b22ca6.so","emit":"link"} Checking zbus v5.19.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zune_jpeg-5e5017d728ba82ad.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liballsorts-a397129e8da9cfc5.rmeta","emit":"metadata"} Checking rust-fontconfig v5.0.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbytes-012989deead46640.rmeta","emit":"metadata"} Checking http v1.5.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rust_fontconfig-1d1d1d3b36afd43c.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/http-608b370d7b169d33.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzune_jpeg-5e5017d728ba82ad.rmeta","emit":"metadata"} Checking azul-css v0.0.16 (/home/runner/work/azul/azul/css) {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zbus-4a455b3f32f48867.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libhttp-608b370d7b169d33.rmeta","emit":"metadata"} Compiling phf_shared v0.13.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/phf_shared-a6cb2fbbdb44a1b5.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libphf_shared-a6cb2fbbdb44a1b5.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libphf_shared-a6cb2fbbdb44a1b5.rlib","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librust_fontconfig-1d1d1d3b36afd43c.rmeta","emit":"metadata"} Checking intl-memoizer v0.5.3 Compiling brotli v8.0.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/intl_memoizer-2c6c1832eefeec62.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libintl_memoizer-2c6c1832eefeec62.rmeta","emit":"metadata"} Checking ghash v0.5.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/ghash-f41a1951cbc9ab5d.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libghash-f41a1951cbc9ab5d.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zbus_lockstep-339db46412429d10.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzbus_lockstep-339db46412429d10.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/azul_css-2d3410053c5de37d.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/brotli-f9fceb5f223b317b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rustls-0005cdeda5bb6baa.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librustls-0005cdeda5bb6baa.rmeta","emit":"metadata"} Checking url v2.5.8 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/url-88543cc41c0b15aa.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbrotli-f9fceb5f223b317b.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liburl-88543cc41c0b15aa.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbrotli-f9fceb5f223b317b.rlib","emit":"link"} Checking icu_decimal v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/serde_json-2040cef7a4a777ad.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_decimal-8a712709f3b13081.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzbus-4a455b3f32f48867.rmeta","emit":"metadata"} Checking icu_time v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_decimal-8a712709f3b13081.rmeta","emit":"metadata"} Checking icu_plurals v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_time-599a0983c8b40c4f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_plurals-cce18d35ced6bf42.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_time-599a0983c8b40c4f.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_plurals-cce18d35ced6bf42.rmeta","emit":"metadata"} Compiling zbus-lockstep-macros v0.5.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zbus_lockstep_macros-fd64eb0bf10fa75b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/num_bigint_dig-d20be8a07e5256d0.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libserde_json-2040cef7a4a777ad.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_casemap_data-e126635616170ae7.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_casemap_data-e126635616170ae7.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_locale_data-1bcb7dffde320a25.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_locale_data-1bcb7dffde320a25.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzbus_lockstep_macros-fd64eb0bf10fa75b.so","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_list_data-68397d396862adff.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_list_data-68397d396862adff.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/crossbeam_epoch-91d85179cfda6ec0.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_collator_data-6d2e89c547929fde.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_collator_data-6d2e89c547929fde.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/httparse-9aa9e98e56490ada.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcrossbeam_epoch-91d85179cfda6ec0.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libhttparse-9aa9e98e56490ada.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libnum_bigint_dig-d20be8a07e5256d0.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_segmenter_data-4add89e17dc7ee6c.d","emit":"dep-info"} Checking intl_pluralrules v7.0.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_segmenter_data-4add89e17dc7ee6c.rmeta","emit":"metadata"} Checking fluent-langneg v0.13.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/intl_pluralrules-33ee03a579f1142f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/fluent_langneg-569228f88cdb87df.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfluent_langneg-569228f88cdb87df.rmeta","emit":"metadata"} Checking poly1305 v0.8.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_datetime_data-3fb2fe8b1b191e60.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/poly1305-b51efd9e2f498975.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libintl_pluralrules-33ee03a579f1142f.rmeta","emit":"metadata"} Checking ctr v0.9.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/ctr-7f11dc3d711fdd63.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_datetime_data-3fb2fe8b1b191e60.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpoly1305-b51efd9e2f498975.rmeta","emit":"metadata"} Checking aes v0.8.4 Checking chacha20 v0.9.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libctr-7f11dc3d711fdd63.rmeta","emit":"metadata"} Checking ed25519 v2.2.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/ed25519-e73d73974f2956a6.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/chacha20-e02a7dc9dbd2b82c.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/aes-0bda54f94535e58b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libed25519-e73d73974f2956a6.rmeta","emit":"metadata"} Checking half v2.7.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libchacha20-e02a7dc9dbd2b82c.rmeta","emit":"metadata"} Checking fluent-syntax v0.12.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/half-cd920e1cfd2a5d75.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/fluent_syntax-0b624a48441b0933.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libaes-0bda54f94535e58b.rmeta","emit":"metadata"} Checking pkcs1 v0.7.5 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libhalf-cd920e1cfd2a5d75.rmeta","emit":"metadata"} Checking fdeflate v0.3.7 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/pkcs1-7be004d50d9f1b50.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfluent_syntax-0b624a48441b0933.rmeta","emit":"metadata"} Checking icu_pattern v0.5.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/fdeflate-28a64ad2090f8de8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_pattern-d2f99e0a809ff47b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpkcs1-7be004d50d9f1b50.rmeta","emit":"metadata"} Compiling cfg_aliases v0.2.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/cfg_aliases-6fefdea7efdf6098.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcfg_aliases-6fefdea7efdf6098.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcfg_aliases-6fefdea7efdf6098.rlib","emit":"link"} Compiling rayon-core v1.13.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/rayon-core-f86a00411759be54/build_script_build-f86a00411759be54.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfdeflate-28a64ad2090f8de8.rmeta","emit":"metadata"} Checking byteorder-lite v0.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_pattern-d2f99e0a809ff47b.rmeta","emit":"metadata"} Compiling zip v2.4.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/byteorder_lite-295bd9cfc7d9537b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/rayon-core-f86a00411759be54/build_script_build-f86a00411759be54","emit":"link"} Checking regex-automata v0.4.18 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/zip-a74cf50fce7b27b0/build_script_build-a74cf50fce7b27b0.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/zip-a74cf50fce7b27b0/build_script_build-a74cf50fce7b27b0","emit":"link"} Checking fax v0.2.7 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbyteorder_lite-295bd9cfc7d9537b.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/regex_automata-51d120362c862c13.d","emit":"dep-info"} Checking gl-context-loader v0.1.10 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/fax-e2aa6735a21aa51e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/gl_context_loader-57565bd6825229af.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfax-e2aa6735a21aa51e.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/equivalent-2e968e51a7ddec0f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libequivalent-2e968e51a7ddec0f.rmeta","emit":"metadata"} Checking float_next_after v1.0.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/float_next_after-9d331f22177ae12f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfloat_next_after-9d331f22177ae12f.rmeta","emit":"metadata"} Compiling inotify-sys v0.1.8 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/inotify-sys-1356988e601e7374/build_script_build-1356988e601e7374.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libgl_context_loader-57565bd6825229af.rmeta","emit":"metadata"} Checking bumpalo v3.20.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/bumpalo-1596bc4f1361b7c7.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/inotify-sys-1356988e601e7374/build_script_build-1356988e601e7374","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbumpalo-1596bc4f1361b7c7.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/fastrand-89e32732a088825b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfastrand-89e32732a088825b.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfastrand-89e32732a088825b.rlib","emit":"link"} Checking base64 v0.23.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/hashbrown-202906b5bacc74f8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libregex_automata-51d120362c862c13.rmeta","emit":"metadata"} Checking color_quant v1.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/base64-3f84b50a43c20bdc.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libazul_css-2d3410053c5de37d.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/color_quant-ff4ec74712d9b3b0.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcolor_quant-ff4ec74712d9b3b0.rmeta","emit":"metadata"} Checking self_cell v1.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/self_cell-6556a0c2071c89ba.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libself_cell-6556a0c2071c89ba.rmeta","emit":"metadata"} Checking pxfm v0.1.30 Checking azul-core v0.0.16 (/home/runner/work/azul/azul/core) {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbase64-3f84b50a43c20bdc.rmeta","emit":"metadata"} Checking ureq-proto v0.6.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/ureq_proto-75deb99513699584.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libhashbrown-202906b5bacc74f8.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libureq_proto-75deb99513699584.rmeta","emit":"metadata"} Checking fluent-bundle v0.16.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/indexmap-14e48dc5ec4b0152.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/fluent_bundle-fef31e61b0bf98ae.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/pxfm-24dc73efe9aece22.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfluent_bundle-fef31e61b0bf98ae.rmeta","emit":"metadata"} Checking gif v0.14.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/gif-1c4656bf0084e832.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libindexmap-14e48dc5ec4b0152.rmeta","emit":"metadata"} Checking icu_list v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libgif-1c4656bf0084e832.rmeta","emit":"metadata"} Compiling phf_generator v0.13.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/phf_generator-9cd1e4dcc8009c5e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_list-a26410d6811f7d53.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libphf_generator-9cd1e4dcc8009c5e.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libphf_generator-9cd1e4dcc8009c5e.rlib","emit":"link"} Checking zopfli v0.8.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zopfli-9f65e2ee20c27deb.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/azul_core-1a36daf623c06e68.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzopfli-9f65e2ee20c27deb.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_list-a26410d6811f7d53.rmeta","emit":"metadata"} Checking lyon_tessellation v1.0.20 Checking tiff v0.11.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/lyon_tessellation-1ab4c8f4ae57e4de.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/tiff-25e4248fbd372a86.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblyon_tessellation-1ab4c8f4ae57e4de.rmeta","emit":"metadata"} Checking image-webp v0.2.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/image_webp-ea5a6cd1a34fc5e8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpxfm-24dc73efe9aece22.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtiff-25e4248fbd372a86.rmeta","emit":"metadata"} Checking moxcms v0.8.1 Checking icu_datetime v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/moxcms-0dbad373d1689e67.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libimage_webp-ea5a6cd1a34fc5e8.rmeta","emit":"metadata"} Checking png v0.18.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/png-3b78c2b8a547554a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_datetime-f17d259ed774107e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpng-3b78c2b8a547554a.rmeta","emit":"metadata"} Compiling nix v0.31.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/nix-10d6be3ae6912274/build_script_build-10d6be3ae6912274.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/nix-10d6be3ae6912274/build_script_build-10d6be3ae6912274","emit":"link"} Checking rsa v0.9.10 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rsa-085763746f071838.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librsa-085763746f071838.rmeta","emit":"metadata"} Checking aes-gcm v0.10.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/aes_gcm-56578c515483f4f6.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libaes_gcm-56578c515483f4f6.rmeta","emit":"metadata"} Checking chacha20poly1305 v0.10.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/chacha20poly1305-f23e04f3d44bee3a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libchacha20poly1305-f23e04f3d44bee3a.rmeta","emit":"metadata"} Checking ed25519-dalek v2.2.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/ed25519_dalek-e1d2b5ff3c05ed2d.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libed25519_dalek-e1d2b5ff3c05ed2d.rmeta","emit":"metadata"} Checking icu_segmenter v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_segmenter-668fd3582e5794b5.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_segmenter-668fd3582e5794b5.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/crossbeam_deque-8cfc2ffad3366a90.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcrossbeam_deque-8cfc2ffad3366a90.rmeta","emit":"metadata"} Checking icu_collator v2.3.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_collator-85413e9b0b31018f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libmoxcms-0dbad373d1689e67.rmeta","emit":"metadata"} Checking atspi-common v0.13.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_collator-85413e9b0b31018f.rmeta","emit":"metadata"} Checking icu_locale v2.3.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_locale-e880f5b48b637537.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/atspi_common-34301473cfe8a908.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_locale-e880f5b48b637537.rmeta","emit":"metadata"} Checking icu_casemap v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_casemap-13d9e971dee2474b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_casemap-13d9e971dee2474b.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/slotmap-aa56cca0124c5a32.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libslotmap-aa56cca0124c5a32.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/paste-213b187ef6e01029.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpaste-213b187ef6e01029.so","emit":"link"} Checking p256 v0.13.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/p256-770106de6d5504bf.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libp256-770106de6d5504bf.rmeta","emit":"metadata"} Checking p384 v0.13.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/p384-eaedf3af5c2a8667.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libp384-eaedf3af5c2a8667.rmeta","emit":"metadata"} Checking lyon_algorithms v1.0.20 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/lyon_algorithms-47f89648d38a5c54.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblyon_algorithms-47f89648d38a5c54.rmeta","emit":"metadata"} Checking x25519-dalek v2.0.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/x25519_dalek-bdfb3230dfb803f4.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_datetime-f17d259ed774107e.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libx25519_dalek-bdfb3230dfb803f4.rmeta","emit":"metadata"} Checking rustls-webpki v0.102.8 Checking webpki-roots v1.0.9 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/webpki-3594416eda790f11.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/webpki_roots-4ce5924524d530f7.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libwebpki_roots-4ce5924524d530f7.rmeta","emit":"metadata"} Checking time-core v0.1.9 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/time_core-9c4ca999a3bfb386.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtime_core-9c4ca999a3bfb386.rmeta","emit":"metadata"} Checking utf8-zero v0.8.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libatspi_common-34301473cfe8a908.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libwebpki-3594416eda790f11.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/utf8_zero-911fb2545c4325a0.d","emit":"dep-info"} Checking grid v1.0.1 Checking num-conv v0.2.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libutf8_zero-911fb2545c4325a0.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/grid-6fa057b82c250e51.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/num_conv-c040d0014825ac73.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/siphasher-ed47e474c300fe4d.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libnum_conv-c040d0014825ac73.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsiphasher-ed47e474c300fe4d.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libgrid-6fa057b82c250e51.rmeta","emit":"metadata"} Checking powerfmt v0.2.0 Checking bytemuck v1.25.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/lazy_static-659f5e198b965b61.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblazy_static-659f5e198b965b61.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblazy_static-659f5e198b965b61.rlib","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/powerfmt-27e3d3cd704eb619.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libazul_core-1a36daf623c06e68.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/bytemuck-f1261199f96885de.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/bitflags-66c14d109783dd6e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libpowerfmt-27e3d3cd704eb619.rmeta","emit":"metadata"} Checking foldhash v0.2.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/foldhash-8f07cc186e12047b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbitflags-66c14d109783dd6e.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbytemuck-f1261199f96885de.rmeta","emit":"metadata"} Checking deranged v0.5.8 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfoldhash-8f07cc186e12047b.rmeta","emit":"metadata"} Checking byteorder v1.5.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbitflags-66c14d109783dd6e.rlib","emit":"link"} Checking hashbrown v0.16.1 Compiling webrender_build v0.0.2 (/home/runner/work/azul/azul/webrender/build) {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/byteorder-bc59f26cbbab8acf.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/webrender_build-f5a9bfbc9a16750a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/hashbrown-88de5ded9edeabf6.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbyteorder-bc59f26cbbab8acf.rmeta","emit":"metadata"} Checking image v0.25.10 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/deranged-b0918accdbd28777.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libwebrender_build-f5a9bfbc9a16750a.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libwebrender_build-f5a9bfbc9a16750a.rlib","emit":"link"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/image-3395fb24d21d58d2.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/phf_shared-973564a629260eec.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libhashbrown-88de5ded9edeabf6.rmeta","emit":"metadata"} Checking taffy v0.10.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libphf_shared-973564a629260eec.rmeta","emit":"metadata"} Checking ureq v3.4.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/taffy-544c7cd04eb1440b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/ureq-a18d46be86adfbb5.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libderanged-b0918accdbd28777.rmeta","emit":"metadata"} Checking time v0.3.55 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libureq-a18d46be86adfbb5.rmeta","emit":"metadata"} Checking rustls-rustcrypto v0.0.2-alpha {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/time-12507b2af3d3e5ee.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rustls_rustcrypto-4ebb66ee01bd9511.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librustls_rustcrypto-4ebb66ee01bd9511.rmeta","emit":"metadata"} Checking icu v2.3.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtaffy-544c7cd04eb1440b.rmeta","emit":"metadata"} Checking lyon v1.0.19 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu-1f34c9924e9adf2a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu-1f34c9924e9adf2a.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/lyon-49949a2c44b7922b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblyon-49949a2c44b7922b.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rayon_core-05b1c034f6aed66a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtime-12507b2af3d3e5ee.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/inotify_sys-8b1b2a4b233803ee.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libinotify_sys-8b1b2a4b233803ee.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/zip-6f6eda70bb3e74d0.d","emit":"dep-info"} Compiling phf_macros v0.13.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/phf_macros-2d06f118f1bfa12c.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librayon_core-05b1c034f6aed66a.rmeta","emit":"metadata"} Checking fluent v0.17.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/fluent-54b194b7d9cc3b15.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfluent-54b194b7d9cc3b15.rmeta","emit":"metadata"} Checking unicode-normalization v0.1.25 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/unicode_normalization-5e721dd6cd088a8a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libzip-6f6eda70bb3e74d0.rmeta","emit":"metadata"} Checking roxmltree v0.21.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/roxmltree-2efb033c1f5df126.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libunicode_normalization-5e721dd6cd088a8a.rmeta","emit":"metadata"} Checking icu_provider_blob v2.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libimage-3395fb24d21d58d2.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libphf_macros-2d06f118f1bfa12c.so","emit":"link"} Checking app_units v0.7.8 Checking crossbeam-channel v0.5.16 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/icu_provider_blob-5264b2116523e9b8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/app_units-3544a3e81b555558.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/crossbeam_channel-792e345d1d0afe28.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libapp_units-3544a3e81b555558.rmeta","emit":"metadata"} Checking serde_bytes v0.11.19 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libicu_provider_blob-5264b2116523e9b8.rmeta","emit":"metadata"} Checking libloading v0.8.9 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/serde_bytes-a1a3e992993eafc4.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libloading-f4008a0fe118f488.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libroxmltree-2efb033c1f5df126.rmeta","emit":"metadata"} Checking material-icons v0.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblibloading-f4008a0fe118f488.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libserde_bytes-a1a3e992993eafc4.rmeta","emit":"metadata"} Checking minisign-verify v0.2.5 Checking base64 v0.22.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/material_icons-09992977b68321b2.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/base64-f9010190e2cf66e9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/minisign_verify-f4e5cc70db1ca016.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libcrossbeam_channel-792e345d1d0afe28.rmeta","emit":"metadata"} Checking tfd v0.1.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/tfd-3f9fab7d67e707a6.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbase64-f9010190e2cf66e9.rmeta","emit":"metadata"} Checking strfmt v0.2.5 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtfd-3f9fab7d67e707a6.rmeta","emit":"metadata"} Checking unicode-bidi v0.3.18 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/strfmt-791f2aa8fac272f8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/unicode_bidi-89fe2aae03b5d744.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libstrfmt-791f2aa8fac272f8.rmeta","emit":"metadata"} Compiling object v0.37.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/object-78c0048b0166de5a/build_script_build-78c0048b0166de5a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libmaterial_icons-09992977b68321b2.rmeta","emit":"metadata"} Checking agg-rust-azul v1.1.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libunicode_bidi-89fe2aae03b5d744.rmeta","emit":"metadata"} Checking xmlwriter v0.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/object-78c0048b0166de5a/build_script_build-78c0048b0166de5a","emit":"link"} Checking lru v0.18.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libminisign_verify-f4e5cc70db1ca016.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/xmlwriter-ebf6ccbc1d297c77.d","emit":"dep-info"} Checking regex-lite v0.1.9 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/lru-a56233825327e6c8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libxmlwriter-ebf6ccbc1d297c77.rmeta","emit":"metadata"} Compiling virtue v0.0.18 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/regex_lite-0160bddaee0726df.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/virtue-33dcabf00ce7dc41.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblru-a56233825327e6c8.rmeta","emit":"metadata"} Checking unicode-segmentation v1.13.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/unicode_segmentation-b8395d3e9ddb20e3.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/agg_rust_azul-d14dc1abc72bd6c4.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libregex_lite-0160bddaee0726df.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libvirtue-33dcabf00ce7dc41.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libunicode_segmentation-b8395d3e9ddb20e3.rmeta","emit":"metadata"} Checking webrender_api v0.62.0 (/home/runner/work/azul/azul/webrender/api) Checking libudev-sys-azul v0.1.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libudev_sys_azul-44ddec6b8aa2082c.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liblibudev_sys_azul-44ddec6b8aa2082c.rmeta","emit":"metadata"} Checking phf v0.13.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libvirtue-33dcabf00ce7dc41.rlib","emit":"link"} Compiling bincode_derive v2.0.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/phf-a0098885b5530cea.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/bincode_derive-2f96f32fc75c65cb.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libphf-a0098885b5530cea.rmeta","emit":"metadata"} Checking rayon v1.12.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rayon-a187fa9a9fdd1d9f.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbincode_derive-2f96f32fc75c65cb.so","emit":"link"} Checking inotify v0.11.5 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/webrender_api-1fa491ee0d83c4f8.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/inotify-7d93b35fa4c4ecbb.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libinotify-7d93b35fa4c4ecbb.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/nix-b1402a3a8835a565.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libagg_rust_azul-d14dc1abc72bd6c4.rmeta","emit":"metadata"} Checking azul-layout v0.0.16 (/home/runner/work/azul/azul/layout) {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libnix-b1402a3a8835a565.rmeta","emit":"metadata"} Checking accesskit_consumer v0.36.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/accesskit_consumer-04dd81936371d4e1.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libaccesskit_consumer-04dd81936371d4e1.rmeta","emit":"metadata"} Compiling webrender v0.62.0 (/home/runner/work/azul/azul/webrender/core) {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/webrender-9466fe3304029f40/build_script_build-9466fe3304029f40.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librayon-a187fa9a9fdd1d9f.rmeta","emit":"metadata"} Checking fxhash v0.2.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/fxhash-38743c87bb703d6a.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfxhash-38743c87bb703d6a.rmeta","emit":"metadata"} Checking atspi-proxies v0.13.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/atspi_proxies-69ac227f70637b1c.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/webrender-9466fe3304029f40/build_script_build-9466fe3304029f40","emit":"link"} Checking gethostname v1.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/gethostname-f5298c9670f96020.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libgethostname-f5298c9670f96020.rmeta","emit":"metadata"} Compiling futures-macro v0.3.34 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/futures_macro-67c829ac2e539ba5.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/azul_layout-ac81c1fcc08be2a2.d","emit":"dep-info"} {"$message_type":"diagnostic","message":"extern crate `icu_provider_blob` is unused in crate `azul_layout`","code":{"code":"unused_crate_dependencies","explanation":null},"level":"warning","spans":[{"file_name":"layout/src/lib.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the dependency or add `use icu_provider_blob as _;` to the crate root","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the lint level is defined here","code":null,"level":"note","spans":[{"file_name":"layout/src/lib.rs","byte_start":1994,"byte_end":2019,"line_start":41,"line_end":41,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":" unused_crate_dependencies,","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: extern crate `icu_provider_blob` is unused in crate `azul_layout`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: remove the dependency or add `use icu_provider_blob as _;` to the crate root\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: the lint level is defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/lib.rs:41:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m41\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unused_crate_dependencies,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"extern crate `intl_memoizer` is unused in crate `azul_layout`","code":{"code":"unused_crate_dependencies","explanation":null},"level":"warning","spans":[{"file_name":"layout/src/lib.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the dependency or add `use intl_memoizer as _;` to the crate root","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: extern crate `intl_memoizer` is unused in crate `azul_layout`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: remove the dependency or add `use intl_memoizer as _;` to the crate root\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"extern crate `zune_jpeg` is unused in crate `azul_layout`","code":{"code":"unused_crate_dependencies","explanation":null},"level":"warning","spans":[{"file_name":"layout/src/lib.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the dependency or add `use zune_jpeg as _;` to the crate root","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: extern crate `zune_jpeg` is unused in crate `azul_layout`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: remove the dependency or add `use zune_jpeg as _;` to the crate root\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"layout/src/solver3/fc.rs","byte_start":256817,"byte_end":256847,"line_start":5388,"line_end":5388,"column_start":28,"column_end":58,"is_primary":true,"text":[{"text":" None::","highlight_start":28,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the lint level is defined here","code":null,"level":"note","spans":[{"file_name":"layout/src/lib.rs","byte_start":1895,"byte_end":1916,"line_start":37,"line_end":37,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":" unused_qualifications,","highlight_start":5,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"layout/src/solver3/fc.rs","byte_start":256817,"byte_end":256824,"line_start":5388,"line_end":5388,"column_start":28,"column_end":35,"is_primary":true,"text":[{"text":" None::","highlight_start":28,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/solver3/fc.rs:5388:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5388\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m None::\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: the lint level is defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/lib.rs:37:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m37\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unused_qualifications,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5388\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m None::<\u001b[0m\u001b[0m\u001b[38;5;9mcrate::\u001b[0m\u001b[0mtext3::script::Language>\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5388\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m None::\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfutures_macro-67c829ac2e539ba5.so","emit":"link"} Compiling derive_more-impl v2.1.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/derive_more_impl-511a9c842bf024f5.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libatspi_proxies-69ac227f70637b1c.rmeta","emit":"metadata"} Checking vec_map v0.8.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/vec_map-26f8d6657cd3ad2d.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libvec_map-26f8d6657cd3ad2d.rmeta","emit":"metadata"} Compiling gilrs-azul v0.11.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/gilrs-azul-eec69baee2546cae/build_script_build-eec69baee2546cae.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/gilrs-azul-eec69baee2546cae/build_script_build-eec69baee2546cae","emit":"link"} Checking svg_fmt v0.4.5 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/svg_fmt-8df93767d9008321.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libsvg_fmt-8df93767d9008321.rmeta","emit":"metadata"} Checking tracy-rs v0.1.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/tracy_rs-057ead22456eecaf.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtracy_rs-057ead22456eecaf.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libwebrender_api-1fa491ee0d83c4f8.rmeta","emit":"metadata"} Checking gimli v0.32.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libderive_more_impl-511a9c842bf024f5.so","emit":"link"} Checking x11rb-protocol v0.13.2 Checking futures-task v0.3.34 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/futures_task-4d7cfee88a76c0c4.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfutures_task-4d7cfee88a76c0c4.rmeta","emit":"metadata"} Checking unty v0.0.4 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/unty-7ebde789907dec62.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libunty-7ebde789907dec62.rmeta","emit":"metadata"} Checking bincode v2.0.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/gimli-692cc76a1cda8b5e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/bincode-74c3b8e8f85dbdad.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/x11rb_protocol-079d53877945e718.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbincode-74c3b8e8f85dbdad.rmeta","emit":"metadata"} Checking futures-util v0.3.34 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/futures_util-96386c90fd340594.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libgimli-692cc76a1cda8b5e.rmeta","emit":"metadata"} Checking addr2line v0.25.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/addr2line-4dbea609684f238c.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libaddr2line-4dbea609684f238c.rmeta","emit":"metadata"} Checking derive_more v2.1.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/derive_more-2ee5b2dae50c1043.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libderive_more-2ee5b2dae50c1043.rmeta","emit":"metadata"} Checking etagere v0.2.15 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/etagere-babb4adb13ac12d6.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libetagere-babb4adb13ac12d6.rmeta","emit":"metadata"} Checking gilrs-core-azul v0.6.9 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/gilrs_core-ee296bf9e8828626.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfutures_util-96386c90fd340594.rmeta","emit":"metadata"} Checking atspi v0.29.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/atspi-f246067c8c1b2e2d.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libatspi-f246067c8c1b2e2d.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libgilrs_core-ee296bf9e8828626.rmeta","emit":"metadata"} Checking accesskit_atspi_common v0.18.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/accesskit_atspi_common-1c3f24d50013b9a5.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libaccesskit_atspi_common-1c3f24d50013b9a5.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/object-b09661beaf1cec92.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libx11rb_protocol-079d53877945e718.rmeta","emit":"metadata"} Checking x11rb v0.13.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/x11rb-dcf521c5eef3966b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libx11rb-dcf521c5eef3966b.rmeta","emit":"metadata"} Compiling azul-dll v0.0.8 (/home/runner/work/azul/azul/dll) {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/azul-dll-103808e508448c88/build_script_build-103808e508448c88.d","emit":"dep-info"} {"$message_type":"diagnostic","message":"function `check_tool` is never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"dll/build.rs","byte_start":31338,"byte_end":31348,"line_start":700,"line_end":700,"column_start":4,"column_end":14,"is_primary":true,"text":[{"text":"fn check_tool(name: &str, args: &[&str], install_hint: &str) {","highlight_start":4,"highlight_end":14}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: function `check_tool` is never used\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/build.rs:700:4\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m700\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mfn check_tool(name: &str, args: &[&str], install_hint: &str) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default\u001b[0m\n\n"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/build/azul-dll-103808e508448c88/build_script_build-103808e508448c88","emit":"link"} {"$message_type":"diagnostic","message":"1 warning emitted","code":null,"level":"warning","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: 1 warning emitted\u001b[0m\n\n"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libobject-b09661beaf1cec92.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/webrender_build-9188624a9d7f2b14.d","emit":"dep-info"} Checking plane-split v0.18.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/plane_split-c349a878368134a5.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libwebrender_build-9188624a9d7f2b14.rmeta","emit":"metadata"} Checking rclip-dropfiles v0.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rclip_dropfiles-b2986e4eaf4ecc23.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librclip_dropfiles-b2986e4eaf4ecc23.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libplane_split-c349a878368134a5.rmeta","emit":"metadata"} Checking rclip-uri-list v0.1.0 Checking rclip-desktop-entry v0.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rclip_uri_list-81a891ce06d04d61.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rclip_desktop_entry-e79c2eaa2c1ebd6e.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librclip_uri_list-81a891ce06d04d61.rmeta","emit":"metadata"} Checking rclip-rtf v0.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librclip_desktop_entry-e79c2eaa2c1ebd6e.rmeta","emit":"metadata"} Checking rclip-cf-html v0.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rclip_rtf-871f1189380b6f91.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rclip_cf_html-9a32952d79dc6bac.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librclip_cf_html-9a32952d79dc6bac.rmeta","emit":"metadata"} Checking rclip-dib v0.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rclip_dib-8937a96ba663f626.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librclip_rtf-871f1189380b6f91.rmeta","emit":"metadata"} Checking rclip-url-file v0.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rclip_url_file-43d33f6b0e7232ba.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librclip_dib-8937a96ba663f626.rmeta","emit":"metadata"} Checking rclip-webloc v0.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librclip_url_file-43d33f6b0e7232ba.rmeta","emit":"metadata"} Checking rclip-bookmark v0.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rclip_webloc-2c8f816c393b0610.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rclip_bookmark-a635e7084c8414bc.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librclip_webloc-2c8f816c393b0610.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librclip_bookmark-a635e7084c8414bc.rmeta","emit":"metadata"} Checking rclip-html v0.1.0 Checking rustc-demangle v0.1.28 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rustc_demangle-80792ed91e1a47f2.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rclip_html-49a183884c977b97.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librustc_demangle-80792ed91e1a47f2.rmeta","emit":"metadata"} Checking allocator-api2 v0.3.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librclip_html-49a183884c977b97.rmeta","emit":"metadata"} Checking fnv v1.0.7 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/fnv-dbe6a336ab6dc9be.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/allocator_api2-b092e067e27a39c5.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libfnv-dbe6a336ab6dc9be.rmeta","emit":"metadata"} Checking topological-sort v0.2.2 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/topological_sort-7673524db0764fcb.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libtopological_sort-7673524db0764fcb.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/gilrs-a003f82bd95fa91b.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/liballocator_api2-b092e067e27a39c5.rmeta","emit":"metadata"} Checking rich-clipboard v0.1.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/rich_clipboard-07467515a2ec37b9.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libgilrs-a003f82bd95fa91b.rmeta","emit":"metadata"} Checking backtrace v0.3.76 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/librich_clipboard-07467515a2ec37b9.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/backtrace-f125a8ff1a9748c1.d","emit":"dep-info"} Checking x11-clipboard v0.9.3 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/x11_clipboard-a7973e22b6a94972.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libbacktrace-f125a8ff1a9748c1.rmeta","emit":"metadata"} Checking accesskit_unix v0.21.1 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libx11_clipboard-a7973e22b6a94972.rmeta","emit":"metadata"} Checking strum v0.28.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/strum-69894145466349ac.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libstrum-69894145466349ac.rmeta","emit":"metadata"} Checking spmc v0.3.0 {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/spmc-f140085f8ca6c11c.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libspmc-f140085f8ca6c11c.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/accesskit_unix-dca1e846a3d04b16.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libaccesskit_unix-dca1e846a3d04b16.rmeta","emit":"metadata"} {"$message_type":"diagnostic","message":"type does not implement `std::fmt::Debug`; consider adding `#[derive(Debug)]` or a manual implementation","code":{"code":"missing_debug_implementations","explanation":null},"level":"warning","spans":[{"file_name":"layout/src/icu.rs","byte_start":40750,"byte_end":41031,"line_start":1227,"line_end":1233,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"pub struct IcuLocalizerInner {","highlight_start":1,"highlight_end":31},{"text":" cache: Mutex>,","highlight_start":1,"highlight_end":50},{"text":" /// Default locale to use when none is specified","highlight_start":1,"highlight_end":53},{"text":" default_locale: Mutex,","highlight_start":1,"highlight_end":37},{"text":" /// Stored data blob for creating new localizers with custom data","highlight_start":1,"highlight_end":70},{"text":" data_blob: Mutex>>,","highlight_start":1,"highlight_end":39},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the lint level is defined here","code":null,"level":"note","spans":[{"file_name":"layout/src/lib.rs","byte_start":1805,"byte_end":1834,"line_start":34,"line_end":34,"column_start":5,"column_end":34,"is_primary":true,"text":[{"text":" missing_debug_implementations,","highlight_start":5,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: type does not implement `std::fmt::Debug`; consider adding `#[derive(Debug)]` or a manual implementation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/icu.rs:1227:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1227\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub struct IcuLocalizerInner {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1228\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m cache: Mutex>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1229\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m /// Default locale to use when none is specified\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1230\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m default_locale: Mutex,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1231\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m /// Stored data blob for creating new localizers with custom data\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1232\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data_blob: Mutex>>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1233\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m}\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: the lint level is defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/lib.rs:34:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m34\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m missing_debug_implementations,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"non-binding let on a type that has a destructor","code":{"code":"let_underscore_drop","explanation":null},"level":"warning","spans":[{"file_name":"layout/src/icu.rs","byte_start":43096,"byte_end":43139,"line_start":1286,"line_end":1286,"column_start":17,"column_end":60,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.ptr.cast_mut());","highlight_start":17,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the lint level is defined here","code":null,"level":"note","spans":[{"file_name":"layout/src/lib.rs","byte_start":2234,"byte_end":2253,"line_start":50,"line_end":50,"column_start":5,"column_end":24,"is_primary":true,"text":[{"text":" let_underscore_drop,","highlight_start":5,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider binding to an unused variable to avoid immediately dropping the value","code":null,"level":"help","spans":[{"file_name":"layout/src/icu.rs","byte_start":43100,"byte_end":43101,"line_start":1286,"line_end":1286,"column_start":21,"column_end":22,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.ptr.cast_mut());","highlight_start":21,"highlight_end":22}],"label":null,"suggested_replacement":"_unused","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null},{"message":"consider immediately dropping the value","code":null,"level":"help","spans":[{"file_name":"layout/src/icu.rs","byte_start":43096,"byte_end":43104,"line_start":1286,"line_end":1286,"column_start":17,"column_end":25,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.ptr.cast_mut());","highlight_start":17,"highlight_end":25}],"label":null,"suggested_replacement":"drop(","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"layout/src/icu.rs","byte_start":43138,"byte_end":43138,"line_start":1286,"line_end":1286,"column_start":59,"column_end":59,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.ptr.cast_mut());","highlight_start":59,"highlight_end":59}],"label":null,"suggested_replacement":")","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: non-binding let on a type that has a destructor\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/icu.rs:1286:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1286\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let _ = Box::from_raw(self.ptr.cast_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: the lint level is defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/lib.rs:50:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m50\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let_underscore_drop,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider binding to an unused variable to avoid immediately dropping the value\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1286\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let _\u001b[0m\u001b[0m\u001b[38;5;10munused\u001b[0m\u001b[0m = Box::from_raw(self.ptr.cast_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++++\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider immediately dropping the value\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1286\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mlet _ = \u001b[0m\u001b[0mBox::from_raw(self.ptr.cast_mut());\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1286\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10mdrop(\u001b[0m\u001b[0mBox::from_raw(self.ptr.cast_mut())\u001b[0m\u001b[0m\u001b[38;5;10m)\u001b[0m\u001b[0m;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"non-binding let on a type that has a destructor","code":{"code":"let_underscore_drop","explanation":null},"level":"warning","spans":[{"file_name":"layout/src/icu.rs","byte_start":43156,"byte_end":43202,"line_start":1287,"line_end":1287,"column_start":17,"column_end":63,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.copies.cast_mut());","highlight_start":17,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider binding to an unused variable to avoid immediately dropping the value","code":null,"level":"help","spans":[{"file_name":"layout/src/icu.rs","byte_start":43160,"byte_end":43161,"line_start":1287,"line_end":1287,"column_start":21,"column_end":22,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.copies.cast_mut());","highlight_start":21,"highlight_end":22}],"label":null,"suggested_replacement":"_unused","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null},{"message":"consider immediately dropping the value","code":null,"level":"help","spans":[{"file_name":"layout/src/icu.rs","byte_start":43156,"byte_end":43164,"line_start":1287,"line_end":1287,"column_start":17,"column_end":25,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.copies.cast_mut());","highlight_start":17,"highlight_end":25}],"label":null,"suggested_replacement":"drop(","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"layout/src/icu.rs","byte_start":43201,"byte_end":43201,"line_start":1287,"line_end":1287,"column_start":62,"column_end":62,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.copies.cast_mut());","highlight_start":62,"highlight_end":62}],"label":null,"suggested_replacement":")","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: non-binding let on a type that has a destructor\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/icu.rs:1287:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let _ = Box::from_raw(self.copies.cast_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider binding to an unused variable to avoid immediately dropping the value\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let _\u001b[0m\u001b[0m\u001b[38;5;10munused\u001b[0m\u001b[0m = Box::from_raw(self.copies.cast_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++++\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider immediately dropping the value\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mlet _ = \u001b[0m\u001b[0mBox::from_raw(self.copies.cast_mut());\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10mdrop(\u001b[0m\u001b[0mBox::from_raw(self.copies.cast_mut())\u001b[0m\u001b[0m\u001b[38;5;10m)\u001b[0m\u001b[0m;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"enum variant is more than three times larger (47 bytes) than the next largest","code":{"code":"variant_size_differences","explanation":null},"level":"warning","spans":[{"file_name":"layout/src/fluent.rs","byte_start":2509,"byte_end":2526,"line_start":89,"line_end":89,"column_start":5,"column_end":22,"is_primary":true,"text":[{"text":" Errors(StringVec),","highlight_start":5,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the lint level is defined here","code":null,"level":"note","spans":[{"file_name":"layout/src/lib.rs","byte_start":2154,"byte_end":2178,"line_start":47,"line_end":47,"column_start":5,"column_end":29,"is_primary":true,"text":[{"text":" variant_size_differences,","highlight_start":5,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: enum variant is more than three times larger (47 bytes) than the next largest\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/fluent.rs:89:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m89\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Errors(StringVec),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: the lint level is defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/lib.rs:47:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m47\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m variant_size_differences,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"type does not implement `std::fmt::Debug`; consider adding `#[derive(Debug)]` or a manual implementation","code":{"code":"missing_debug_implementations","explanation":null},"level":"warning","spans":[{"file_name":"layout/src/fluent.rs","byte_start":10324,"byte_end":10625,"line_start":315,"line_end":322,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"pub struct FluentLocalizerInner {","highlight_start":1,"highlight_end":34},{"text":" /// Bundles for each locale","highlight_start":1,"highlight_end":32},{"text":" bundles: Mutex>,","highlight_start":1,"highlight_end":58},{"text":" /// Default locale","highlight_start":1,"highlight_end":23},{"text":" default_locale: Mutex,","highlight_start":1,"highlight_end":35},{"text":" /// Fallback chain (locale -> list of fallback locales)","highlight_start":1,"highlight_end":60},{"text":" fallback_chain: Mutex>>,","highlight_start":1,"highlight_end":58},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: type does not implement `std::fmt::Debug`; consider adding `#[derive(Debug)]` or a manual implementation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/fluent.rs:315:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m315\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub struct FluentLocalizerInner {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m316\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m /// Bundles for each locale\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m317\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m bundles: Mutex>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m318\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m /// Default locale\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m321\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fallback_chain: Mutex>>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m322\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m}\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"non-binding let on a type that has a destructor","code":{"code":"let_underscore_drop","explanation":null},"level":"warning","spans":[{"file_name":"layout/src/fluent.rs","byte_start":11781,"byte_end":11824,"line_start":363,"line_end":363,"column_start":17,"column_end":60,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.ptr.cast_mut());","highlight_start":17,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider binding to an unused variable to avoid immediately dropping the value","code":null,"level":"help","spans":[{"file_name":"layout/src/fluent.rs","byte_start":11785,"byte_end":11786,"line_start":363,"line_end":363,"column_start":21,"column_end":22,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.ptr.cast_mut());","highlight_start":21,"highlight_end":22}],"label":null,"suggested_replacement":"_unused","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null},{"message":"consider immediately dropping the value","code":null,"level":"help","spans":[{"file_name":"layout/src/fluent.rs","byte_start":11781,"byte_end":11789,"line_start":363,"line_end":363,"column_start":17,"column_end":25,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.ptr.cast_mut());","highlight_start":17,"highlight_end":25}],"label":null,"suggested_replacement":"drop(","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"layout/src/fluent.rs","byte_start":11823,"byte_end":11823,"line_start":363,"line_end":363,"column_start":59,"column_end":59,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.ptr.cast_mut());","highlight_start":59,"highlight_end":59}],"label":null,"suggested_replacement":")","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: non-binding let on a type that has a destructor\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/fluent.rs:363:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let _ = Box::from_raw(self.ptr.cast_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider binding to an unused variable to avoid immediately dropping the value\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let _\u001b[0m\u001b[0m\u001b[38;5;10munused\u001b[0m\u001b[0m = Box::from_raw(self.ptr.cast_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++++\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider immediately dropping the value\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mlet _ = \u001b[0m\u001b[0mBox::from_raw(self.ptr.cast_mut());\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10mdrop(\u001b[0m\u001b[0mBox::from_raw(self.ptr.cast_mut())\u001b[0m\u001b[0m\u001b[38;5;10m)\u001b[0m\u001b[0m;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"non-binding let on a type that has a destructor","code":{"code":"let_underscore_drop","explanation":null},"level":"warning","spans":[{"file_name":"layout/src/fluent.rs","byte_start":11841,"byte_end":11887,"line_start":364,"line_end":364,"column_start":17,"column_end":63,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.copies.cast_mut());","highlight_start":17,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider binding to an unused variable to avoid immediately dropping the value","code":null,"level":"help","spans":[{"file_name":"layout/src/fluent.rs","byte_start":11845,"byte_end":11846,"line_start":364,"line_end":364,"column_start":21,"column_end":22,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.copies.cast_mut());","highlight_start":21,"highlight_end":22}],"label":null,"suggested_replacement":"_unused","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null},{"message":"consider immediately dropping the value","code":null,"level":"help","spans":[{"file_name":"layout/src/fluent.rs","byte_start":11841,"byte_end":11849,"line_start":364,"line_end":364,"column_start":17,"column_end":25,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.copies.cast_mut());","highlight_start":17,"highlight_end":25}],"label":null,"suggested_replacement":"drop(","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"layout/src/fluent.rs","byte_start":11886,"byte_end":11886,"line_start":364,"line_end":364,"column_start":62,"column_end":62,"is_primary":true,"text":[{"text":" let _ = Box::from_raw(self.copies.cast_mut());","highlight_start":62,"highlight_end":62}],"label":null,"suggested_replacement":")","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: non-binding let on a type that has a destructor\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/fluent.rs:364:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let _ = Box::from_raw(self.copies.cast_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider binding to an unused variable to avoid immediately dropping the value\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let _\u001b[0m\u001b[0m\u001b[38;5;10munused\u001b[0m\u001b[0m = Box::from_raw(self.copies.cast_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++++\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: consider immediately dropping the value\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mlet _ = \u001b[0m\u001b[0mBox::from_raw(self.copies.cast_mut());\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10mdrop(\u001b[0m\u001b[0mBox::from_raw(self.copies.cast_mut())\u001b[0m\u001b[0m\u001b[38;5;10m)\u001b[0m\u001b[0m;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"type could implement `Copy`; consider adding `impl Copy`","code":{"code":"missing_copy_implementations","explanation":null},"level":"warning","spans":[{"file_name":"layout/src/text3/cache.rs","byte_start":6917,"byte_end":6937,"line_start":190,"line_end":190,"column_start":1,"column_end":21,"is_primary":true,"text":[{"text":"pub struct Standard;","highlight_start":1,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the lint level is defined here","code":null,"level":"note","spans":[{"file_name":"layout/src/lib.rs","byte_start":1840,"byte_end":1868,"line_start":35,"line_end":35,"column_start":5,"column_end":33,"is_primary":true,"text":[{"text":" missing_copy_implementations,","highlight_start":5,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: type could implement `Copy`; consider adding `impl Copy`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/text3/cache.rs:190:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m190\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub struct Standard;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: the lint level is defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/lib.rs:35:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m35\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m missing_copy_implementations,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"type does not implement `std::fmt::Debug`; consider adding `#[derive(Debug)]` or a manual implementation","code":{"code":"missing_debug_implementations","explanation":null},"level":"warning","spans":[{"file_name":"layout/src/text3/cache.rs","byte_start":6917,"byte_end":6937,"line_start":190,"line_end":190,"column_start":1,"column_end":21,"is_primary":true,"text":[{"text":"pub struct Standard;","highlight_start":1,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: type does not implement `std::fmt::Debug`; consider adding `#[derive(Debug)]` or a manual implementation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/text3/cache.rs:190:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m190\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub struct Standard;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"type does not implement `std::fmt::Debug`; consider adding `#[derive(Debug)]` or a manual implementation","code":{"code":"missing_debug_implementations","explanation":null},"level":"warning","spans":[{"file_name":"layout/src/text3/cache.rs","byte_start":7304,"byte_end":7368,"line_start":202,"line_end":204,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"pub struct StubHyphenationBreaks {","highlight_start":1,"highlight_end":35},{"text":" pub breaks: Vec,","highlight_start":1,"highlight_end":28},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: type does not implement `std::fmt::Debug`; consider adding `#[derive(Debug)]` or a manual implementation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mlayout/src/text3/cache.rs:202:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m202\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub struct StubHyphenationBreaks {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m203\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub breaks: Vec,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m204\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m}\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_^\u001b[0m\n\n"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libazul_layout-ac81c1fcc08be2a2.rmeta","emit":"metadata"} {"$message_type":"diagnostic","message":"14 warnings emitted","code":null,"level":"warning","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: 14 warnings emitted\u001b[0m\n\n"} Checking wr_azul_glyph_rasterizer v0.1.0 (/home/runner/work/azul/azul/webrender/glyph) {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/wr_azul_glyph_rasterizer-e2a6749cde1d4bfe.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libwr_azul_glyph_rasterizer-e2a6749cde1d4bfe.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/webrender-107b29ee07375349.d","emit":"dep-info"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/libwebrender-107b29ee07375349.rmeta","emit":"metadata"} {"$message_type":"artifact","artifact":"/home/runner/work/azul/azul/target/debug/deps/azul-2372a22cc67cf2c2.d","emit":"dep-info"} {"$message_type":"diagnostic","message":"extern crate `bitflags` is unused in crate `azul`","code":{"code":"unused_crate_dependencies","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/lib.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the dependency or add `use bitflags as _;` to the crate root","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the lint level is defined here","code":null,"level":"note","spans":[{"file_name":"dll/src/lib.rs","byte_start":2027,"byte_end":2052,"line_start":47,"line_end":47,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":" unused_crate_dependencies,","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: extern crate `bitflags` is unused in crate `azul`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: remove the dependency or add `use bitflags as _;` to the crate root\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: the lint level is defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/lib.rs:47:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m47\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unused_crate_dependencies,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"extern crate `libm` is unused in crate `azul`","code":{"code":"unused_crate_dependencies","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/lib.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the dependency or add `use libm as _;` to the crate root","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: extern crate `libm` is unused in crate `azul`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: remove the dependency or add `use libm as _;` to the crate root\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"extern crate `once_cell` is unused in crate `azul`","code":{"code":"unused_crate_dependencies","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/lib.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the dependency or add `use once_cell as _;` to the crate root","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: extern crate `once_cell` is unused in crate `azul`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: remove the dependency or add `use once_cell as _;` to the crate root\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"extern crate `rclip_core` is unused in crate `azul`","code":{"code":"unused_crate_dependencies","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/lib.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the dependency or add `use rclip_core as _;` to the crate root","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: extern crate `rclip_core` is unused in crate `azul`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: remove the dependency or add `use rclip_core as _;` to the crate root\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"extern crate `strum` is unused in crate `azul`","code":{"code":"unused_crate_dependencies","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/lib.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the dependency or add `use strum as _;` to the crate root","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: extern crate `strum` is unused in crate `azul`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: remove the dependency or add `use strum as _;` to the crate root\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":4421,"byte_end":4458,"line_start":112,"line_end":112,"column_start":9,"column_end":46,"is_primary":true,"text":[{"text":" core::mem::size_of::() as u32,","highlight_start":9,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"the lint level is defined here","code":null,"level":"note","spans":[{"file_name":"dll/src/lib.rs","byte_start":1928,"byte_end":1949,"line_start":43,"line_end":43,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":" unused_qualifications,","highlight_start":5,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":4421,"byte_end":4432,"line_start":112,"line_end":112,"column_start":9,"column_end":20,"is_primary":true,"text":[{"text":" core::mem::size_of::() as u32,","highlight_start":9,"highlight_end":20}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:112:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m112\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m core::mem::size_of::() as u32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: the lint level is defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/lib.rs:43:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m43\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unused_qualifications,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m112\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcore::mem::\u001b[0m\u001b[0msize_of::() as u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m112\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m size_of::() as u32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":4533,"byte_end":4566,"line_start":116,"line_end":116,"column_start":26,"column_end":59,"is_primary":true,"text":[{"text":" iowr(VIDIOC_TYPE, 5, core::mem::size_of::() as u32)","highlight_start":26,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":4533,"byte_end":4544,"line_start":116,"line_end":116,"column_start":26,"column_end":37,"is_primary":true,"text":[{"text":" iowr(VIDIOC_TYPE, 5, core::mem::size_of::() as u32)","highlight_start":26,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:116:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m116\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m iowr(VIDIOC_TYPE, 5, core::mem::size_of::() as u32)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m116\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m iowr(VIDIOC_TYPE, 5, \u001b[0m\u001b[0m\u001b[38;5;9mcore::mem::\u001b[0m\u001b[0msize_of::() as u32)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m116\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m iowr(VIDIOC_TYPE, 5, size_of::() as u32)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":4662,"byte_end":4703,"line_start":122,"line_end":122,"column_start":9,"column_end":50,"is_primary":true,"text":[{"text":" core::mem::size_of::() as u32,","highlight_start":9,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":4662,"byte_end":4673,"line_start":122,"line_end":122,"column_start":9,"column_end":20,"is_primary":true,"text":[{"text":" core::mem::size_of::() as u32,","highlight_start":9,"highlight_end":20}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:122:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m122\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m core::mem::size_of::() as u32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m122\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcore::mem::\u001b[0m\u001b[0msize_of::() as u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m122\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m size_of::() as u32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":4781,"byte_end":4814,"line_start":126,"line_end":126,"column_start":26,"column_end":59,"is_primary":true,"text":[{"text":" iowr(VIDIOC_TYPE, 9, core::mem::size_of::() as u32)","highlight_start":26,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":4781,"byte_end":4792,"line_start":126,"line_end":126,"column_start":26,"column_end":37,"is_primary":true,"text":[{"text":" iowr(VIDIOC_TYPE, 9, core::mem::size_of::() as u32)","highlight_start":26,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:126:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m126\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m iowr(VIDIOC_TYPE, 9, core::mem::size_of::() as u32)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m126\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m iowr(VIDIOC_TYPE, 9, \u001b[0m\u001b[0m\u001b[38;5;9mcore::mem::\u001b[0m\u001b[0msize_of::() as u32)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m126\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m iowr(VIDIOC_TYPE, 9, size_of::() as u32)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":4883,"byte_end":4916,"line_start":129,"line_end":129,"column_start":27,"column_end":60,"is_primary":true,"text":[{"text":" iowr(VIDIOC_TYPE, 15, core::mem::size_of::() as u32)","highlight_start":27,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":4883,"byte_end":4894,"line_start":129,"line_end":129,"column_start":27,"column_end":38,"is_primary":true,"text":[{"text":" iowr(VIDIOC_TYPE, 15, core::mem::size_of::() as u32)","highlight_start":27,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:129:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m129\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m iowr(VIDIOC_TYPE, 15, core::mem::size_of::() as u32)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m129\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m iowr(VIDIOC_TYPE, 15, \u001b[0m\u001b[0m\u001b[38;5;9mcore::mem::\u001b[0m\u001b[0msize_of::() as u32)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m129\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m iowr(VIDIOC_TYPE, 15, size_of::() as u32)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":4986,"byte_end":5019,"line_start":132,"line_end":132,"column_start":27,"column_end":60,"is_primary":true,"text":[{"text":" iowr(VIDIOC_TYPE, 17, core::mem::size_of::() as u32)","highlight_start":27,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":4986,"byte_end":4997,"line_start":132,"line_end":132,"column_start":27,"column_end":38,"is_primary":true,"text":[{"text":" iowr(VIDIOC_TYPE, 17, core::mem::size_of::() as u32)","highlight_start":27,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:132:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m132\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m iowr(VIDIOC_TYPE, 17, core::mem::size_of::() as u32)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m132\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m iowr(VIDIOC_TYPE, 17, \u001b[0m\u001b[0m\u001b[38;5;9mcore::mem::\u001b[0m\u001b[0msize_of::() as u32)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m132\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m iowr(VIDIOC_TYPE, 17, size_of::() as u32)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":5115,"byte_end":5152,"line_start":138,"line_end":138,"column_start":9,"column_end":46,"is_primary":true,"text":[{"text":" core::mem::size_of::() as u32,","highlight_start":9,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":5115,"byte_end":5126,"line_start":138,"line_end":138,"column_start":9,"column_end":20,"is_primary":true,"text":[{"text":" core::mem::size_of::() as u32,","highlight_start":9,"highlight_end":20}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:138:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m138\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m core::mem::size_of::() as u32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m138\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcore::mem::\u001b[0m\u001b[0msize_of::() as u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m138\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m size_of::() as u32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":5914,"byte_end":5952,"line_start":171,"line_end":171,"column_start":22,"column_end":60,"is_primary":true,"text":[{"text":" _pad: [u8; 200 - core::mem::size_of::()],","highlight_start":22,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":5914,"byte_end":5925,"line_start":171,"line_end":171,"column_start":22,"column_end":33,"is_primary":true,"text":[{"text":" _pad: [u8; 200 - core::mem::size_of::()],","highlight_start":22,"highlight_end":33}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:171:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m171\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m _pad: [u8; 200 - core::mem::size_of::()],\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m171\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m _pad: [u8; 200 - \u001b[0m\u001b[0m\u001b[38;5;9mcore::mem::\u001b[0m\u001b[0msize_of::()],\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m171\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m _pad: [u8; 200 - size_of::()],\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":6250,"byte_end":6277,"line_start":182,"line_end":182,"column_start":9,"column_end":36,"is_primary":true,"text":[{"text":" core::mem::size_of::() as u32,","highlight_start":9,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":6250,"byte_end":6261,"line_start":182,"line_end":182,"column_start":9,"column_end":20,"is_primary":true,"text":[{"text":" core::mem::size_of::() as u32,","highlight_start":9,"highlight_end":20}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:182:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m182\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m core::mem::size_of::() as u32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m182\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcore::mem::\u001b[0m\u001b[0msize_of::() as u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m182\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m size_of::() as u32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":6400,"byte_end":6427,"line_start":190,"line_end":190,"column_start":9,"column_end":36,"is_primary":true,"text":[{"text":" core::mem::size_of::() as u32,","highlight_start":9,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":6400,"byte_end":6411,"line_start":190,"line_end":190,"column_start":9,"column_end":20,"is_primary":true,"text":[{"text":" core::mem::size_of::() as u32,","highlight_start":9,"highlight_end":20}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:190:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m190\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m core::mem::size_of::() as u32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m190\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcore::mem::\u001b[0m\u001b[0msize_of::() as u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m190\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m size_of::() as u32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":7679,"byte_end":7716,"line_start":235,"line_end":235,"column_start":45,"column_end":82,"is_primary":true,"text":[{"text":" _pad: [u8; V4L2_FORMAT_FMT_UNION_SIZE - core::mem::size_of::()],","highlight_start":45,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":7679,"byte_end":7690,"line_start":235,"line_end":235,"column_start":45,"column_end":56,"is_primary":true,"text":[{"text":" _pad: [u8; V4L2_FORMAT_FMT_UNION_SIZE - core::mem::size_of::()],","highlight_start":45,"highlight_end":56}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:235:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m235\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m _pad: [u8; V4L2_FORMAT_FMT_UNION_SIZE - core::mem::size_of::()],\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m235\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m _pad: [u8; V4L2_FORMAT_FMT_UNION_SIZE - \u001b[0m\u001b[0m\u001b[38;5;9mcore::mem::\u001b[0m\u001b[0msize_of::()],\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m235\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m _pad: [u8; V4L2_FORMAT_FMT_UNION_SIZE - size_of::()],\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":13783,"byte_end":13821,"line_start":413,"line_end":413,"column_start":33,"column_end":71,"is_primary":true,"text":[{"text":" _pad: [0; 200 - core::mem::size_of::()],","highlight_start":33,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":13783,"byte_end":13794,"line_start":413,"line_end":413,"column_start":33,"column_end":44,"is_primary":true,"text":[{"text":" _pad: [0; 200 - core::mem::size_of::()],","highlight_start":33,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:413:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m _pad: [0; 200 - core::mem::size_of::()],\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m _pad: [0; 200 - \u001b[0m\u001b[0m\u001b[38;5;9mcore::mem::\u001b[0m\u001b[0msize_of::()],\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m _pad: [0; 200 - size_of::()],\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/media_keys/linux.rs","byte_start":4088,"byte_end":4116,"line_start":84,"line_end":84,"column_start":22,"column_end":50,"is_primary":true,"text":[{"text":"static RAISE_TARGET: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0);","highlight_start":22,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/media_keys/linux.rs","byte_start":4088,"byte_end":4107,"line_start":84,"line_end":84,"column_start":22,"column_end":41,"is_primary":true,"text":[{"text":"static RAISE_TARGET: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0);","highlight_start":22,"highlight_end":41}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/media_keys/linux.rs:84:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m84\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mstatic RAISE_TARGET: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m84\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mstatic RAISE_TARGET: \u001b[0m\u001b[0m\u001b[38;5;9mstd::sync::atomic::\u001b[0m\u001b[0mAtomicU64 = std::sync::atomic::AtomicU64::new(0);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m84\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mstatic RAISE_TARGET: AtomicU64 = std::sync::atomic::AtomicU64::new(0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/media_keys/linux.rs","byte_start":4119,"byte_end":4152,"line_start":84,"line_end":84,"column_start":53,"column_end":86,"is_primary":true,"text":[{"text":"static RAISE_TARGET: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0);","highlight_start":53,"highlight_end":86}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/media_keys/linux.rs","byte_start":4119,"byte_end":4138,"line_start":84,"line_end":84,"column_start":53,"column_end":72,"is_primary":true,"text":[{"text":"static RAISE_TARGET: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0);","highlight_start":53,"highlight_end":72}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/media_keys/linux.rs:84:53\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m84\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mstatic RAISE_TARGET: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m84\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mstatic RAISE_TARGET: std::sync::atomic::AtomicU64 = \u001b[0m\u001b[0m\u001b[38;5;9mstd::sync::atomic::\u001b[0m\u001b[0mAtomicU64::new(0);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m84\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mstatic RAISE_TARGET: std::sync::atomic::AtomicU64 = AtomicU64::new(0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/media_keys/linux.rs","byte_start":16506,"byte_end":16542,"line_start":438,"line_end":438,"column_start":35,"column_end":71,"is_primary":true,"text":[{"text":" RAISE_TARGET.store(window_id, std::sync::atomic::Ordering::Relaxed);","highlight_start":35,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/media_keys/linux.rs","byte_start":16506,"byte_end":16525,"line_start":438,"line_end":438,"column_start":35,"column_end":54,"is_primary":true,"text":[{"text":" RAISE_TARGET.store(window_id, std::sync::atomic::Ordering::Relaxed);","highlight_start":35,"highlight_end":54}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/media_keys/linux.rs:438:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m438\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m RAISE_TARGET.store(window_id, std::sync::atomic::Ordering::Relaxed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m438\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m RAISE_TARGET.store(window_id, \u001b[0m\u001b[0m\u001b[38;5;9mstd::sync::atomic::\u001b[0m\u001b[0mOrdering::Relaxed);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m438\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m RAISE_TARGET.store(window_id, Ordering::Relaxed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":9662,"byte_end":9684,"line_start":229,"line_end":229,"column_start":22,"column_end":44,"is_primary":true,"text":[{"text":" debug_assert_eq!(std::mem::size_of::(), std::mem::size_of::());","highlight_start":22,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":9662,"byte_end":9672,"line_start":229,"line_end":229,"column_start":22,"column_end":32,"is_primary":true,"text":[{"text":" debug_assert_eq!(std::mem::size_of::(), std::mem::size_of::());","highlight_start":22,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:229:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m229\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m debug_assert_eq!(std::mem::size_of::(), std::mem::size_of::());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m229\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m debug_assert_eq!(\u001b[0m\u001b[0m\u001b[38;5;9mstd::mem::\u001b[0m\u001b[0msize_of::(), std::mem::size_of::());\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m229\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m debug_assert_eq!(size_of::(), std::mem::size_of::());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":9688,"byte_end":9712,"line_start":229,"line_end":229,"column_start":48,"column_end":72,"is_primary":true,"text":[{"text":" debug_assert_eq!(std::mem::size_of::(), std::mem::size_of::());","highlight_start":48,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":9688,"byte_end":9698,"line_start":229,"line_end":229,"column_start":48,"column_end":58,"is_primary":true,"text":[{"text":" debug_assert_eq!(std::mem::size_of::(), std::mem::size_of::());","highlight_start":48,"highlight_end":58}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:229:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m229\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m debug_assert_eq!(std::mem::size_of::(), std::mem::size_of::());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m229\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m debug_assert_eq!(std::mem::size_of::(), \u001b[0m\u001b[0m\u001b[38;5;9mstd::mem::\u001b[0m\u001b[0msize_of::());\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m229\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m debug_assert_eq!(std::mem::size_of::(), size_of::());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10409,"byte_end":10431,"line_start":245,"line_end":245,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10559,"byte_end":10609,"line_start":249,"line_end":249,"column_start":47,"column_end":97,"is_primary":false,"text":[{"text":" let get_proc: EglGetProcAddress = egl_core!(EglGetProcAddress, b\"eglGetProcAddress\");","highlight_start":47,"highlight_end":97}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10427,"byte_end":10428,"line_start":245,"line_end":245,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10559,"byte_end":10609,"line_start":249,"line_end":249,"column_start":47,"column_end":97,"is_primary":false,"text":[{"text":" let get_proc: EglGetProcAddress = egl_core!(EglGetProcAddress, b\"eglGetProcAddress\");","highlight_start":47,"highlight_end":97}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"the lint level is defined here","code":null,"level":"note","spans":[{"file_name":"dll/src/lib.rs","byte_start":2130,"byte_end":2155,"line_start":51,"line_end":51,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":" elided_lifetimes_in_paths,","highlight_start":5,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10428,"byte_end":10428,"line_start":245,"line_end":245,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10559,"byte_end":10609,"line_start":249,"line_end":249,"column_start":47,"column_end":97,"is_primary":false,"text":[{"text":" let get_proc: EglGetProcAddress = egl_core!(EglGetProcAddress, b\"eglGetProcAddress\");","highlight_start":47,"highlight_end":97}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:245:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m249\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let get_proc: EglGetProcAddress = egl_core!(EglGetProcAddress, b\"eglGetProcAddress\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: the lint level is defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/lib.rs:51:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m51\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m elided_lifetimes_in_paths,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `egl_core` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10409,"byte_end":10431,"line_start":245,"line_end":245,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10656,"byte_end":10698,"line_start":250,"line_end":250,"column_start":46,"column_end":88,"is_primary":false,"text":[{"text":" let get_display: EglGetDisplay = egl_core!(EglGetDisplay, b\"eglGetDisplay\");","highlight_start":46,"highlight_end":88}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10427,"byte_end":10428,"line_start":245,"line_end":245,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10656,"byte_end":10698,"line_start":250,"line_end":250,"column_start":46,"column_end":88,"is_primary":false,"text":[{"text":" let get_display: EglGetDisplay = egl_core!(EglGetDisplay, b\"eglGetDisplay\");","highlight_start":46,"highlight_end":88}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10428,"byte_end":10428,"line_start":245,"line_end":245,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10656,"byte_end":10698,"line_start":250,"line_end":250,"column_start":46,"column_end":88,"is_primary":false,"text":[{"text":" let get_display: EglGetDisplay = egl_core!(EglGetDisplay, b\"eglGetDisplay\");","highlight_start":46,"highlight_end":88}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:245:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m250\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let get_display: EglGetDisplay = egl_core!(EglGetDisplay, b\"eglGetDisplay\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `egl_core` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10409,"byte_end":10431,"line_start":245,"line_end":245,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10744,"byte_end":10786,"line_start":251,"line_end":251,"column_start":45,"column_end":87,"is_primary":false,"text":[{"text":" let initialize: EglInitialize = egl_core!(EglInitialize, b\"eglInitialize\");","highlight_start":45,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10427,"byte_end":10428,"line_start":245,"line_end":245,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10744,"byte_end":10786,"line_start":251,"line_end":251,"column_start":45,"column_end":87,"is_primary":false,"text":[{"text":" let initialize: EglInitialize = egl_core!(EglInitialize, b\"eglInitialize\");","highlight_start":45,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10428,"byte_end":10428,"line_start":245,"line_end":245,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10744,"byte_end":10786,"line_start":251,"line_end":251,"column_start":45,"column_end":87,"is_primary":false,"text":[{"text":" let initialize: EglInitialize = egl_core!(EglInitialize, b\"eglInitialize\");","highlight_start":45,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:245:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m251\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let initialize: EglInitialize = egl_core!(EglInitialize, b\"eglInitialize\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `egl_core` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10409,"byte_end":10431,"line_start":245,"line_end":245,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10835,"byte_end":10879,"line_start":252,"line_end":252,"column_start":48,"column_end":92,"is_primary":false,"text":[{"text":" let query_string: EglQueryString = egl_core!(EglQueryString, b\"eglQueryString\");","highlight_start":48,"highlight_end":92}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10427,"byte_end":10428,"line_start":245,"line_end":245,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10835,"byte_end":10879,"line_start":252,"line_end":252,"column_start":48,"column_end":92,"is_primary":false,"text":[{"text":" let query_string: EglQueryString = egl_core!(EglQueryString, b\"eglQueryString\");","highlight_start":48,"highlight_end":92}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10428,"byte_end":10428,"line_start":245,"line_end":245,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10835,"byte_end":10879,"line_start":252,"line_end":252,"column_start":48,"column_end":92,"is_primary":false,"text":[{"text":" let query_string: EglQueryString = egl_core!(EglQueryString, b\"eglQueryString\");","highlight_start":48,"highlight_end":92}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:245:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m252\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let query_string: EglQueryString = egl_core!(EglQueryString, b\"eglQueryString\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `egl_core` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10409,"byte_end":10431,"line_start":245,"line_end":245,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10930,"byte_end":10976,"line_start":253,"line_end":253,"column_start":50,"column_end":96,"is_primary":false,"text":[{"text":" let choose_config: EglChooseConfig = egl_core!(EglChooseConfig, b\"eglChooseConfig\");","highlight_start":50,"highlight_end":96}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10427,"byte_end":10428,"line_start":245,"line_end":245,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10930,"byte_end":10976,"line_start":253,"line_end":253,"column_start":50,"column_end":96,"is_primary":false,"text":[{"text":" let choose_config: EglChooseConfig = egl_core!(EglChooseConfig, b\"eglChooseConfig\");","highlight_start":50,"highlight_end":96}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10428,"byte_end":10428,"line_start":245,"line_end":245,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10930,"byte_end":10976,"line_start":253,"line_end":253,"column_start":50,"column_end":96,"is_primary":false,"text":[{"text":" let choose_config: EglChooseConfig = egl_core!(EglChooseConfig, b\"eglChooseConfig\");","highlight_start":50,"highlight_end":96}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:245:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m253\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let choose_config: EglChooseConfig = egl_core!(EglChooseConfig, b\"eglChooseConfig\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `egl_core` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10409,"byte_end":10431,"line_start":245,"line_end":245,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":11017,"byte_end":11053,"line_start":254,"line_end":254,"column_start":40,"column_end":76,"is_primary":false,"text":[{"text":" let bind_api: EglBindApi = egl_core!(EglBindApi, b\"eglBindAPI\");","highlight_start":40,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10427,"byte_end":10428,"line_start":245,"line_end":245,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":11017,"byte_end":11053,"line_start":254,"line_end":254,"column_start":40,"column_end":76,"is_primary":false,"text":[{"text":" let bind_api: EglBindApi = egl_core!(EglBindApi, b\"eglBindAPI\");","highlight_start":40,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10428,"byte_end":10428,"line_start":245,"line_end":245,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":11017,"byte_end":11053,"line_start":254,"line_end":254,"column_start":40,"column_end":76,"is_primary":false,"text":[{"text":" let bind_api: EglBindApi = egl_core!(EglBindApi, b\"eglBindAPI\");","highlight_start":40,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:245:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m254\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let bind_api: EglBindApi = egl_core!(EglBindApi, b\"eglBindAPI\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `egl_core` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10409,"byte_end":10431,"line_start":245,"line_end":245,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":11106,"byte_end":11154,"line_start":255,"line_end":255,"column_start":52,"column_end":100,"is_primary":false,"text":[{"text":" let create_context: EglCreateContext = egl_core!(EglCreateContext, b\"eglCreateContext\");","highlight_start":52,"highlight_end":100}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10427,"byte_end":10428,"line_start":245,"line_end":245,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":11106,"byte_end":11154,"line_start":255,"line_end":255,"column_start":52,"column_end":100,"is_primary":false,"text":[{"text":" let create_context: EglCreateContext = egl_core!(EglCreateContext, b\"eglCreateContext\");","highlight_start":52,"highlight_end":100}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10428,"byte_end":10428,"line_start":245,"line_end":245,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":11106,"byte_end":11154,"line_start":255,"line_end":255,"column_start":52,"column_end":100,"is_primary":false,"text":[{"text":" let create_context: EglCreateContext = egl_core!(EglCreateContext, b\"eglCreateContext\");","highlight_start":52,"highlight_end":100}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:245:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m255\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let create_context: EglCreateContext = egl_core!(EglCreateContext, b\"eglCreateContext\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `egl_core` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10409,"byte_end":10431,"line_start":245,"line_end":245,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":11238,"byte_end":11300,"line_start":257,"line_end":257,"column_start":17,"column_end":79,"is_primary":false,"text":[{"text":" egl_core!(EglCreatePbufferSurface, b\"eglCreatePbufferSurface\");","highlight_start":17,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10427,"byte_end":10428,"line_start":245,"line_end":245,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":11238,"byte_end":11300,"line_start":257,"line_end":257,"column_start":17,"column_end":79,"is_primary":false,"text":[{"text":" egl_core!(EglCreatePbufferSurface, b\"eglCreatePbufferSurface\");","highlight_start":17,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10428,"byte_end":10428,"line_start":245,"line_end":245,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":11238,"byte_end":11300,"line_start":257,"line_end":257,"column_start":17,"column_end":79,"is_primary":false,"text":[{"text":" egl_core!(EglCreatePbufferSurface, b\"eglCreatePbufferSurface\");","highlight_start":17,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:245:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m257\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m egl_core!(EglCreatePbufferSurface, b\"eglCreatePbufferSurface\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `egl_core` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10409,"byte_end":10431,"line_start":245,"line_end":245,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":11349,"byte_end":11393,"line_start":258,"line_end":258,"column_start":48,"column_end":92,"is_primary":false,"text":[{"text":" let make_current: EglMakeCurrent = egl_core!(EglMakeCurrent, b\"eglMakeCurrent\");","highlight_start":48,"highlight_end":92}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10427,"byte_end":10428,"line_start":245,"line_end":245,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":11349,"byte_end":11393,"line_start":258,"line_end":258,"column_start":48,"column_end":92,"is_primary":false,"text":[{"text":" let make_current: EglMakeCurrent = egl_core!(EglMakeCurrent, b\"eglMakeCurrent\");","highlight_start":48,"highlight_end":92}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10428,"byte_end":10428,"line_start":245,"line_end":245,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":11349,"byte_end":11393,"line_start":258,"line_end":258,"column_start":48,"column_end":92,"is_primary":false,"text":[{"text":" let make_current: EglMakeCurrent = egl_core!(EglMakeCurrent, b\"eglMakeCurrent\");","highlight_start":48,"highlight_end":92}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:245:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m258\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let make_current: EglMakeCurrent = egl_core!(EglMakeCurrent, b\"eglMakeCurrent\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `egl_core` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10409,"byte_end":10431,"line_start":245,"line_end":245,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":11436,"byte_end":11474,"line_start":259,"line_end":259,"column_start":42,"column_end":80,"is_primary":false,"text":[{"text":" let get_error: EglGetError = egl_core!(EglGetError, b\"eglGetError\");","highlight_start":42,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10427,"byte_end":10428,"line_start":245,"line_end":245,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":11436,"byte_end":11474,"line_start":259,"line_end":259,"column_start":42,"column_end":80,"is_primary":false,"text":[{"text":" let get_error: EglGetError = egl_core!(EglGetError, b\"eglGetError\");","highlight_start":42,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10428,"byte_end":10428,"line_start":245,"line_end":245,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libegl.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":11436,"byte_end":11474,"line_start":259,"line_end":259,"column_start":42,"column_end":80,"is_primary":false,"text":[{"text":" let get_error: EglGetError = egl_core!(EglGetError, b\"eglGetError\");","highlight_start":42,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"egl_core!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":10316,"byte_end":10337,"line_start":243,"line_end":243,"column_start":13,"column_end":34,"is_primary":false,"text":[{"text":" macro_rules! egl_core {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:245:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m259\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let get_error: EglGetError = egl_core!(EglGetError, b\"eglGetError\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `egl_core` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libegl.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15593,"byte_end":15628,"line_start":364,"line_end":364,"column_start":31,"column_end":66,"is_primary":false,"text":[{"text":" gen_textures: gl_sym!(GlGenObj, b\"glGenTextures\"),","highlight_start":31,"highlight_end":66}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15593,"byte_end":15628,"line_start":364,"line_end":364,"column_start":31,"column_end":66,"is_primary":false,"text":[{"text":" gen_textures: gl_sym!(GlGenObj, b\"glGenTextures\"),","highlight_start":31,"highlight_end":66}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15593,"byte_end":15628,"line_start":364,"line_end":364,"column_start":31,"column_end":66,"is_primary":false,"text":[{"text":" gen_textures: gl_sym!(GlGenObj, b\"glGenTextures\"),","highlight_start":31,"highlight_end":66}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m gen_textures: gl_sym!(GlGenObj, b\"glGenTextures\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-----------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15660,"byte_end":15693,"line_start":365,"line_end":365,"column_start":31,"column_end":64,"is_primary":false,"text":[{"text":" bind_texture: gl_sym!(GlBind, b\"glBindTexture\"),","highlight_start":31,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15660,"byte_end":15693,"line_start":365,"line_end":365,"column_start":31,"column_end":64,"is_primary":false,"text":[{"text":" bind_texture: gl_sym!(GlBind, b\"glBindTexture\"),","highlight_start":31,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15660,"byte_end":15693,"line_start":365,"line_end":365,"column_start":31,"column_end":64,"is_primary":false,"text":[{"text":" bind_texture: gl_sym!(GlBind, b\"glBindTexture\"),","highlight_start":31,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m365\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m bind_texture: gl_sym!(GlBind, b\"glBindTexture\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15727,"byte_end":15771,"line_start":366,"line_end":366,"column_start":33,"column_end":77,"is_primary":false,"text":[{"text":" tex_parameteri: gl_sym!(GlTexParameteri, b\"glTexParameteri\"),","highlight_start":33,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15727,"byte_end":15771,"line_start":366,"line_end":366,"column_start":33,"column_end":77,"is_primary":false,"text":[{"text":" tex_parameteri: gl_sym!(GlTexParameteri, b\"glTexParameteri\"),","highlight_start":33,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15727,"byte_end":15771,"line_start":366,"line_end":366,"column_start":33,"column_end":77,"is_primary":false,"text":[{"text":" tex_parameteri: gl_sym!(GlTexParameteri, b\"glTexParameteri\"),","highlight_start":33,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m366\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m tex_parameteri: gl_sym!(GlTexParameteri, b\"glTexParameteri\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15803,"byte_end":15841,"line_start":367,"line_end":367,"column_start":31,"column_end":69,"is_primary":false,"text":[{"text":" tex_image_2d: gl_sym!(GlTexImage2D, b\"glTexImage2D\"),","highlight_start":31,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15803,"byte_end":15841,"line_start":367,"line_end":367,"column_start":31,"column_end":69,"is_primary":false,"text":[{"text":" tex_image_2d: gl_sym!(GlTexImage2D, b\"glTexImage2D\"),","highlight_start":31,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15803,"byte_end":15841,"line_start":367,"line_end":367,"column_start":31,"column_end":69,"is_primary":false,"text":[{"text":" tex_image_2d: gl_sym!(GlTexImage2D, b\"glTexImage2D\"),","highlight_start":31,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m367\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m tex_image_2d: gl_sym!(GlTexImage2D, b\"glTexImage2D\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15877,"byte_end":15916,"line_start":368,"line_end":368,"column_start":35,"column_end":74,"is_primary":false,"text":[{"text":" gen_framebuffers: gl_sym!(GlGenObj, b\"glGenFramebuffers\"),","highlight_start":35,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15877,"byte_end":15916,"line_start":368,"line_end":368,"column_start":35,"column_end":74,"is_primary":false,"text":[{"text":" gen_framebuffers: gl_sym!(GlGenObj, b\"glGenFramebuffers\"),","highlight_start":35,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15877,"byte_end":15916,"line_start":368,"line_end":368,"column_start":35,"column_end":74,"is_primary":false,"text":[{"text":" gen_framebuffers: gl_sym!(GlGenObj, b\"glGenFramebuffers\"),","highlight_start":35,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m368\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m gen_framebuffers: gl_sym!(GlGenObj, b\"glGenFramebuffers\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15952,"byte_end":15989,"line_start":369,"line_end":369,"column_start":35,"column_end":72,"is_primary":false,"text":[{"text":" bind_framebuffer: gl_sym!(GlBind, b\"glBindFramebuffer\"),","highlight_start":35,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15952,"byte_end":15989,"line_start":369,"line_end":369,"column_start":35,"column_end":72,"is_primary":false,"text":[{"text":" bind_framebuffer: gl_sym!(GlBind, b\"glBindFramebuffer\"),","highlight_start":35,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15952,"byte_end":15989,"line_start":369,"line_end":369,"column_start":35,"column_end":72,"is_primary":false,"text":[{"text":" bind_framebuffer: gl_sym!(GlBind, b\"glBindFramebuffer\"),","highlight_start":35,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m369\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m bind_framebuffer: gl_sym!(GlBind, b\"glBindFramebuffer\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16031,"byte_end":16089,"line_start":370,"line_end":370,"column_start":41,"column_end":99,"is_primary":false,"text":[{"text":" framebuffer_texture_2d: gl_sym!(GlFramebufferTexture2D, b\"glFramebufferTexture2D\"),","highlight_start":41,"highlight_end":99}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16031,"byte_end":16089,"line_start":370,"line_end":370,"column_start":41,"column_end":99,"is_primary":false,"text":[{"text":" framebuffer_texture_2d: gl_sym!(GlFramebufferTexture2D, b\"glFramebufferTexture2D\"),","highlight_start":41,"highlight_end":99}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16031,"byte_end":16089,"line_start":370,"line_end":370,"column_start":41,"column_end":99,"is_primary":false,"text":[{"text":" framebuffer_texture_2d: gl_sym!(GlFramebufferTexture2D, b\"glFramebufferTexture2D\"),","highlight_start":41,"highlight_end":99}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m370\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m framebuffer_texture_2d: gl_sym!(GlFramebufferTexture2D, b\"glFramebufferTexture2D\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16133,"byte_end":16253,"line_start":371,"line_end":374,"column_start":43,"column_end":18,"is_primary":false,"text":[{"text":" check_framebuffer_status: gl_sym!(","highlight_start":43,"highlight_end":51},{"text":" GlCheckFramebufferStatus,","highlight_start":1,"highlight_end":46},{"text":" b\"glCheckFramebufferStatus\"","highlight_start":1,"highlight_end":48},{"text":" ),","highlight_start":1,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16133,"byte_end":16253,"line_start":371,"line_end":374,"column_start":43,"column_end":18,"is_primary":false,"text":[{"text":" check_framebuffer_status: gl_sym!(","highlight_start":43,"highlight_end":51},{"text":" GlCheckFramebufferStatus,","highlight_start":1,"highlight_end":46},{"text":" b\"glCheckFramebufferStatus\"","highlight_start":1,"highlight_end":48},{"text":" ),","highlight_start":1,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16133,"byte_end":16253,"line_start":371,"line_end":374,"column_start":43,"column_end":18,"is_primary":false,"text":[{"text":" check_framebuffer_status: gl_sym!(","highlight_start":43,"highlight_end":51},{"text":" GlCheckFramebufferStatus,","highlight_start":1,"highlight_end":46},{"text":" b\"glCheckFramebufferStatus\"","highlight_start":1,"highlight_end":48},{"text":" ),","highlight_start":1,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m371\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m check_framebuffer_status: gl_sym!(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m ___________________________________________-\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m372\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m GlCheckFramebufferStatus,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m373\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m b\"glCheckFramebufferStatus\"\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m374\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_________________-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16281,"byte_end":16315,"line_start":375,"line_end":375,"column_start":27,"column_end":61,"is_primary":false,"text":[{"text":" viewport: gl_sym!(GlViewport, b\"glViewport\"),","highlight_start":27,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16281,"byte_end":16315,"line_start":375,"line_end":375,"column_start":27,"column_end":61,"is_primary":false,"text":[{"text":" viewport: gl_sym!(GlViewport, b\"glViewport\"),","highlight_start":27,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16281,"byte_end":16315,"line_start":375,"line_end":375,"column_start":27,"column_end":61,"is_primary":false,"text":[{"text":" viewport: gl_sym!(GlViewport, b\"glViewport\"),","highlight_start":27,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m375\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m viewport: gl_sym!(GlViewport, b\"glViewport\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16348,"byte_end":16390,"line_start":376,"line_end":376,"column_start":32,"column_end":74,"is_primary":false,"text":[{"text":" create_shader: gl_sym!(GlCreateShader, b\"glCreateShader\"),","highlight_start":32,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16348,"byte_end":16390,"line_start":376,"line_end":376,"column_start":32,"column_end":74,"is_primary":false,"text":[{"text":" create_shader: gl_sym!(GlCreateShader, b\"glCreateShader\"),","highlight_start":32,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16348,"byte_end":16390,"line_start":376,"line_end":376,"column_start":32,"column_end":74,"is_primary":false,"text":[{"text":" create_shader: gl_sym!(GlCreateShader, b\"glCreateShader\"),","highlight_start":32,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m376\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m create_shader: gl_sym!(GlCreateShader, b\"glCreateShader\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16423,"byte_end":16465,"line_start":377,"line_end":377,"column_start":32,"column_end":74,"is_primary":false,"text":[{"text":" shader_source: gl_sym!(GlShaderSource, b\"glShaderSource\"),","highlight_start":32,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16423,"byte_end":16465,"line_start":377,"line_end":377,"column_start":32,"column_end":74,"is_primary":false,"text":[{"text":" shader_source: gl_sym!(GlShaderSource, b\"glShaderSource\"),","highlight_start":32,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16423,"byte_end":16465,"line_start":377,"line_end":377,"column_start":32,"column_end":74,"is_primary":false,"text":[{"text":" shader_source: gl_sym!(GlShaderSource, b\"glShaderSource\"),","highlight_start":32,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m377\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m shader_source: gl_sym!(GlShaderSource, b\"glShaderSource\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16499,"byte_end":16543,"line_start":378,"line_end":378,"column_start":33,"column_end":77,"is_primary":false,"text":[{"text":" compile_shader: gl_sym!(GlCompileShader, b\"glCompileShader\"),","highlight_start":33,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16499,"byte_end":16543,"line_start":378,"line_end":378,"column_start":33,"column_end":77,"is_primary":false,"text":[{"text":" compile_shader: gl_sym!(GlCompileShader, b\"glCompileShader\"),","highlight_start":33,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16499,"byte_end":16543,"line_start":378,"line_end":378,"column_start":33,"column_end":77,"is_primary":false,"text":[{"text":" compile_shader: gl_sym!(GlCompileShader, b\"glCompileShader\"),","highlight_start":33,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m378\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m compile_shader: gl_sym!(GlCompileShader, b\"glCompileShader\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16575,"byte_end":16615,"line_start":379,"line_end":379,"column_start":31,"column_end":71,"is_primary":false,"text":[{"text":" get_shaderiv: gl_sym!(GlGetShaderiv, b\"glGetShaderiv\"),","highlight_start":31,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16575,"byte_end":16615,"line_start":379,"line_end":379,"column_start":31,"column_end":71,"is_primary":false,"text":[{"text":" get_shaderiv: gl_sym!(GlGetShaderiv, b\"glGetShaderiv\"),","highlight_start":31,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16575,"byte_end":16615,"line_start":379,"line_end":379,"column_start":31,"column_end":71,"is_primary":false,"text":[{"text":" get_shaderiv: gl_sym!(GlGetShaderiv, b\"glGetShaderiv\"),","highlight_start":31,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m379\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_shaderiv: gl_sym!(GlGetShaderiv, b\"glGetShaderiv\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16649,"byte_end":16693,"line_start":380,"line_end":380,"column_start":33,"column_end":77,"is_primary":false,"text":[{"text":" create_program: gl_sym!(GlCreateProgram, b\"glCreateProgram\"),","highlight_start":33,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16649,"byte_end":16693,"line_start":380,"line_end":380,"column_start":33,"column_end":77,"is_primary":false,"text":[{"text":" create_program: gl_sym!(GlCreateProgram, b\"glCreateProgram\"),","highlight_start":33,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16649,"byte_end":16693,"line_start":380,"line_end":380,"column_start":33,"column_end":77,"is_primary":false,"text":[{"text":" create_program: gl_sym!(GlCreateProgram, b\"glCreateProgram\"),","highlight_start":33,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m380\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m create_program: gl_sym!(GlCreateProgram, b\"glCreateProgram\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16726,"byte_end":16768,"line_start":381,"line_end":381,"column_start":32,"column_end":74,"is_primary":false,"text":[{"text":" attach_shader: gl_sym!(GlAttachShader, b\"glAttachShader\"),","highlight_start":32,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16726,"byte_end":16768,"line_start":381,"line_end":381,"column_start":32,"column_end":74,"is_primary":false,"text":[{"text":" attach_shader: gl_sym!(GlAttachShader, b\"glAttachShader\"),","highlight_start":32,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16726,"byte_end":16768,"line_start":381,"line_end":381,"column_start":32,"column_end":74,"is_primary":false,"text":[{"text":" attach_shader: gl_sym!(GlAttachShader, b\"glAttachShader\"),","highlight_start":32,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m381\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m attach_shader: gl_sym!(GlAttachShader, b\"glAttachShader\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16800,"byte_end":16840,"line_start":382,"line_end":382,"column_start":31,"column_end":71,"is_primary":false,"text":[{"text":" link_program: gl_sym!(GlLinkProgram, b\"glLinkProgram\"),","highlight_start":31,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16800,"byte_end":16840,"line_start":382,"line_end":382,"column_start":31,"column_end":71,"is_primary":false,"text":[{"text":" link_program: gl_sym!(GlLinkProgram, b\"glLinkProgram\"),","highlight_start":31,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16800,"byte_end":16840,"line_start":382,"line_end":382,"column_start":31,"column_end":71,"is_primary":false,"text":[{"text":" link_program: gl_sym!(GlLinkProgram, b\"glLinkProgram\"),","highlight_start":31,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m382\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m link_program: gl_sym!(GlLinkProgram, b\"glLinkProgram\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16873,"byte_end":16915,"line_start":383,"line_end":383,"column_start":32,"column_end":74,"is_primary":false,"text":[{"text":" get_programiv: gl_sym!(GlGetProgramiv, b\"glGetProgramiv\"),","highlight_start":32,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16873,"byte_end":16915,"line_start":383,"line_end":383,"column_start":32,"column_end":74,"is_primary":false,"text":[{"text":" get_programiv: gl_sym!(GlGetProgramiv, b\"glGetProgramiv\"),","highlight_start":32,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16873,"byte_end":16915,"line_start":383,"line_end":383,"column_start":32,"column_end":74,"is_primary":false,"text":[{"text":" get_programiv: gl_sym!(GlGetProgramiv, b\"glGetProgramiv\"),","highlight_start":32,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m383\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_programiv: gl_sym!(GlGetProgramiv, b\"glGetProgramiv\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16946,"byte_end":16984,"line_start":384,"line_end":384,"column_start":30,"column_end":68,"is_primary":false,"text":[{"text":" use_program: gl_sym!(GlUseProgram, b\"glUseProgram\"),","highlight_start":30,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16946,"byte_end":16984,"line_start":384,"line_end":384,"column_start":30,"column_end":68,"is_primary":false,"text":[{"text":" use_program: gl_sym!(GlUseProgram, b\"glUseProgram\"),","highlight_start":30,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":16946,"byte_end":16984,"line_start":384,"line_end":384,"column_start":30,"column_end":68,"is_primary":false,"text":[{"text":" use_program: gl_sym!(GlUseProgram, b\"glUseProgram\"),","highlight_start":30,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m384\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m use_program: gl_sym!(GlUseProgram, b\"glUseProgram\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17015,"byte_end":17049,"line_start":385,"line_end":385,"column_start":30,"column_end":64,"is_primary":false,"text":[{"text":" gen_buffers: gl_sym!(GlGenObj, b\"glGenBuffers\"),","highlight_start":30,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17015,"byte_end":17049,"line_start":385,"line_end":385,"column_start":30,"column_end":64,"is_primary":false,"text":[{"text":" gen_buffers: gl_sym!(GlGenObj, b\"glGenBuffers\"),","highlight_start":30,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17015,"byte_end":17049,"line_start":385,"line_end":385,"column_start":30,"column_end":64,"is_primary":false,"text":[{"text":" gen_buffers: gl_sym!(GlGenObj, b\"glGenBuffers\"),","highlight_start":30,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m385\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m gen_buffers: gl_sym!(GlGenObj, b\"glGenBuffers\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17080,"byte_end":17112,"line_start":386,"line_end":386,"column_start":30,"column_end":62,"is_primary":false,"text":[{"text":" bind_buffer: gl_sym!(GlBind, b\"glBindBuffer\"),","highlight_start":30,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17080,"byte_end":17112,"line_start":386,"line_end":386,"column_start":30,"column_end":62,"is_primary":false,"text":[{"text":" bind_buffer: gl_sym!(GlBind, b\"glBindBuffer\"),","highlight_start":30,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17080,"byte_end":17112,"line_start":386,"line_end":386,"column_start":30,"column_end":62,"is_primary":false,"text":[{"text":" bind_buffer: gl_sym!(GlBind, b\"glBindBuffer\"),","highlight_start":30,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m386\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m bind_buffer: gl_sym!(GlBind, b\"glBindBuffer\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17143,"byte_end":17181,"line_start":387,"line_end":387,"column_start":30,"column_end":68,"is_primary":false,"text":[{"text":" buffer_data: gl_sym!(GlBufferData, b\"glBufferData\"),","highlight_start":30,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17143,"byte_end":17181,"line_start":387,"line_end":387,"column_start":30,"column_end":68,"is_primary":false,"text":[{"text":" buffer_data: gl_sym!(GlBufferData, b\"glBufferData\"),","highlight_start":30,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17143,"byte_end":17181,"line_start":387,"line_end":387,"column_start":30,"column_end":68,"is_primary":false,"text":[{"text":" buffer_data: gl_sym!(GlBufferData, b\"glBufferData\"),","highlight_start":30,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m387\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m buffer_data: gl_sym!(GlBufferData, b\"glBufferData\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17220,"byte_end":17261,"line_start":388,"line_end":388,"column_start":38,"column_end":79,"is_primary":false,"text":[{"text":" get_attrib_location: gl_sym!(GlGetLoc, b\"glGetAttribLocation\"),","highlight_start":38,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17220,"byte_end":17261,"line_start":388,"line_end":388,"column_start":38,"column_end":79,"is_primary":false,"text":[{"text":" get_attrib_location: gl_sym!(GlGetLoc, b\"glGetAttribLocation\"),","highlight_start":38,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17220,"byte_end":17261,"line_start":388,"line_end":388,"column_start":38,"column_end":79,"is_primary":false,"text":[{"text":" get_attrib_location: gl_sym!(GlGetLoc, b\"glGetAttribLocation\"),","highlight_start":38,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m388\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_attrib_location: gl_sym!(GlGetLoc, b\"glGetAttribLocation\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-----------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17301,"byte_end":17343,"line_start":389,"line_end":389,"column_start":39,"column_end":81,"is_primary":false,"text":[{"text":" get_uniform_location: gl_sym!(GlGetLoc, b\"glGetUniformLocation\"),","highlight_start":39,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17301,"byte_end":17343,"line_start":389,"line_end":389,"column_start":39,"column_end":81,"is_primary":false,"text":[{"text":" get_uniform_location: gl_sym!(GlGetLoc, b\"glGetUniformLocation\"),","highlight_start":39,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17301,"byte_end":17343,"line_start":389,"line_end":389,"column_start":39,"column_end":81,"is_primary":false,"text":[{"text":" get_uniform_location: gl_sym!(GlGetLoc, b\"glGetUniformLocation\"),","highlight_start":39,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m389\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_uniform_location: gl_sym!(GlGetLoc, b\"glGetUniformLocation\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17389,"byte_end":17439,"line_start":390,"line_end":390,"column_start":45,"column_end":95,"is_primary":false,"text":[{"text":" enable_vertex_attrib_array: gl_sym!(GlEnableVAA, b\"glEnableVertexAttribArray\"),","highlight_start":45,"highlight_end":95}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17389,"byte_end":17439,"line_start":390,"line_end":390,"column_start":45,"column_end":95,"is_primary":false,"text":[{"text":" enable_vertex_attrib_array: gl_sym!(GlEnableVAA, b\"glEnableVertexAttribArray\"),","highlight_start":45,"highlight_end":95}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17389,"byte_end":17439,"line_start":390,"line_end":390,"column_start":45,"column_end":95,"is_primary":false,"text":[{"text":" enable_vertex_attrib_array: gl_sym!(GlEnableVAA, b\"glEnableVertexAttribArray\"),","highlight_start":45,"highlight_end":95}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m390\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m enable_vertex_attrib_array: gl_sym!(GlEnableVAA, b\"glEnableVertexAttribArray\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17480,"byte_end":17536,"line_start":391,"line_end":391,"column_start":40,"column_end":96,"is_primary":false,"text":[{"text":" vertex_attrib_pointer: gl_sym!(GlVertexAttribPointer, b\"glVertexAttribPointer\"),","highlight_start":40,"highlight_end":96}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17480,"byte_end":17536,"line_start":391,"line_end":391,"column_start":40,"column_end":96,"is_primary":false,"text":[{"text":" vertex_attrib_pointer: gl_sym!(GlVertexAttribPointer, b\"glVertexAttribPointer\"),","highlight_start":40,"highlight_end":96}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17480,"byte_end":17536,"line_start":391,"line_end":391,"column_start":40,"column_end":96,"is_primary":false,"text":[{"text":" vertex_attrib_pointer: gl_sym!(GlVertexAttribPointer, b\"glVertexAttribPointer\"),","highlight_start":40,"highlight_end":96}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m391\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m vertex_attrib_pointer: gl_sym!(GlVertexAttribPointer, b\"glVertexAttribPointer\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17565,"byte_end":17601,"line_start":392,"line_end":392,"column_start":28,"column_end":64,"is_primary":false,"text":[{"text":" uniform1i: gl_sym!(GlUniform1i, b\"glUniform1i\"),","highlight_start":28,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17565,"byte_end":17601,"line_start":392,"line_end":392,"column_start":28,"column_end":64,"is_primary":false,"text":[{"text":" uniform1i: gl_sym!(GlUniform1i, b\"glUniform1i\"),","highlight_start":28,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17565,"byte_end":17601,"line_start":392,"line_end":392,"column_start":28,"column_end":64,"is_primary":false,"text":[{"text":" uniform1i: gl_sym!(GlUniform1i, b\"glUniform1i\"),","highlight_start":28,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m392\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m uniform1i: gl_sym!(GlUniform1i, b\"glUniform1i\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17635,"byte_end":17679,"line_start":393,"line_end":393,"column_start":33,"column_end":77,"is_primary":false,"text":[{"text":" active_texture: gl_sym!(GlActiveTexture, b\"glActiveTexture\"),","highlight_start":33,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17635,"byte_end":17679,"line_start":393,"line_end":393,"column_start":33,"column_end":77,"is_primary":false,"text":[{"text":" active_texture: gl_sym!(GlActiveTexture, b\"glActiveTexture\"),","highlight_start":33,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17635,"byte_end":17679,"line_start":393,"line_end":393,"column_start":33,"column_end":77,"is_primary":false,"text":[{"text":" active_texture: gl_sym!(GlActiveTexture, b\"glActiveTexture\"),","highlight_start":33,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m active_texture: gl_sym!(GlActiveTexture, b\"glActiveTexture\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17710,"byte_end":17748,"line_start":394,"line_end":394,"column_start":30,"column_end":68,"is_primary":false,"text":[{"text":" draw_arrays: gl_sym!(GlDrawArrays, b\"glDrawArrays\"),","highlight_start":30,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17710,"byte_end":17748,"line_start":394,"line_end":394,"column_start":30,"column_end":68,"is_primary":false,"text":[{"text":" draw_arrays: gl_sym!(GlDrawArrays, b\"glDrawArrays\"),","highlight_start":30,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17710,"byte_end":17748,"line_start":394,"line_end":394,"column_start":30,"column_end":68,"is_primary":false,"text":[{"text":" draw_arrays: gl_sym!(GlDrawArrays, b\"glDrawArrays\"),","highlight_start":30,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m394\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m draw_arrays: gl_sym!(GlDrawArrays, b\"glDrawArrays\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15429,"byte_end":15451,"line_start":359,"line_end":359,"column_start":28,"column_end":50,"is_primary":false,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":28,"highlight_end":50}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17779,"byte_end":17817,"line_start":395,"line_end":395,"column_start":30,"column_end":68,"is_primary":false,"text":[{"text":" read_pixels: gl_sym!(GlReadPixels, b\"glReadPixels\"),","highlight_start":30,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15447,"byte_end":15448,"line_start":359,"line_end":359,"column_start":46,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":46,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17779,"byte_end":17817,"line_start":395,"line_end":395,"column_start":30,"column_end":68,"is_primary":false,"text":[{"text":" read_pixels: gl_sym!(GlReadPixels, b\"glReadPixels\"),","highlight_start":30,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15448,"byte_end":15448,"line_start":359,"line_end":359,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" let s: libloading::Symbol<$t> = libgles.get($n).ok()?;","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":{"span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":17779,"byte_end":17817,"line_start":395,"line_end":395,"column_start":30,"column_end":68,"is_primary":false,"text":[{"text":" read_pixels: gl_sym!(GlReadPixels, b\"glReadPixels\"),","highlight_start":30,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"gl_sym!","def_site_span":{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":15338,"byte_end":15357,"line_start":357,"line_end":357,"column_start":13,"column_end":32,"is_primary":false,"text":[{"text":" macro_rules! gl_sym {","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:359:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s: libloading::Symbol<$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m---\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m395\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m read_pixels: gl_sym!(GlReadPixels, b\"glReadPixels\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `gl_sym` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let s: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0m$t> = libgles.get($n).ok()?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":27411,"byte_end":27432,"line_start":633,"line_end":633,"column_start":13,"column_end":34,"is_primary":true,"text":[{"text":" std::mem::size_of_val(&verts) as isize,","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":27411,"byte_end":27421,"line_start":633,"line_end":633,"column_start":13,"column_end":23,"is_primary":true,"text":[{"text":" std::mem::size_of_val(&verts) as isize,","highlight_start":13,"highlight_end":23}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:633:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m633\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::size_of_val(&verts) as isize,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m633\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mstd::mem::\u001b[0m\u001b[0msize_of_val(&verts) as isize,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m633\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m size_of_val(&verts) as isize,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/linux.rs","byte_start":8973,"byte_end":8978,"line_start":237,"line_end":237,"column_start":41,"column_end":46,"is_primary":true,"text":[{"text":" let mut opts: HashMap<&'static str, Value> = HashMap::new();","highlight_start":41,"highlight_end":46}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/linux.rs","byte_start":8978,"byte_end":8978,"line_start":237,"line_end":237,"column_start":46,"column_end":46,"is_primary":true,"text":[{"text":" let mut opts: HashMap<&'static str, Value> = HashMap::new();","highlight_start":46,"highlight_end":46}],"label":null,"suggested_replacement":"<'_>","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/linux.rs:237:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m237\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut opts: HashMap<&'static str, Value> = HashMap::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mexpected lifetime parameter\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m237\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let mut opts: HashMap<&'static str, Value\u001b[0m\u001b[0m\u001b[38;5;10m<'_>\u001b[0m\u001b[0m> = HashMap::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/linux.rs","byte_start":9331,"byte_end":9350,"line_start":243,"line_end":243,"column_start":40,"column_end":59,"is_primary":false,"text":[{"text":" .and_then(|v| v.downcast_ref::().ok())","highlight_start":40,"highlight_end":59}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"dll/src/desktop/extra/screencap/linux.rs","byte_start":9347,"byte_end":9350,"line_start":243,"line_end":243,"column_start":56,"column_end":59,"is_primary":true,"text":[{"text":" .and_then(|v| v.downcast_ref::().ok())","highlight_start":56,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/linux.rs","byte_start":9350,"byte_end":9350,"line_start":243,"line_end":243,"column_start":59,"column_end":59,"is_primary":true,"text":[{"text":" .and_then(|v| v.downcast_ref::().ok())","highlight_start":59,"highlight_end":59}],"label":null,"suggested_replacement":"<'_>","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/linux.rs:243:56\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m243\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m .and_then(|v| v.downcast_ref::().ok())\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m243\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m .and_then(|v| v.downcast_ref::\u001b[0m\u001b[0m>().ok())\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/linux.rs","byte_start":9698,"byte_end":9703,"line_start":250,"line_end":250,"column_start":41,"column_end":46,"is_primary":true,"text":[{"text":" let mut opts: HashMap<&'static str, Value> = HashMap::new();","highlight_start":41,"highlight_end":46}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/linux.rs","byte_start":9703,"byte_end":9703,"line_start":250,"line_end":250,"column_start":46,"column_end":46,"is_primary":true,"text":[{"text":" let mut opts: HashMap<&'static str, Value> = HashMap::new();","highlight_start":46,"highlight_end":46}],"label":null,"suggested_replacement":"<'_>","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/linux.rs:250:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m250\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut opts: HashMap<&'static str, Value> = HashMap::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mexpected lifetime parameter\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m250\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let mut opts: HashMap<&'static str, Value\u001b[0m\u001b[0m\u001b[38;5;10m<'_>\u001b[0m\u001b[0m> = HashMap::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/linux.rs","byte_start":10315,"byte_end":10320,"line_start":265,"line_end":265,"column_start":41,"column_end":46,"is_primary":true,"text":[{"text":" let mut opts: HashMap<&'static str, Value> = HashMap::new();","highlight_start":41,"highlight_end":46}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/linux.rs","byte_start":10320,"byte_end":10320,"line_start":265,"line_end":265,"column_start":46,"column_end":46,"is_primary":true,"text":[{"text":" let mut opts: HashMap<&'static str, Value> = HashMap::new();","highlight_start":46,"highlight_end":46}],"label":null,"suggested_replacement":"<'_>","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/linux.rs:265:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m265\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut opts: HashMap<&'static str, Value> = HashMap::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mexpected lifetime parameter\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m265\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let mut opts: HashMap<&'static str, Value\u001b[0m\u001b[0m\u001b[38;5;10m<'_>\u001b[0m\u001b[0m> = HashMap::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/linux.rs","byte_start":11313,"byte_end":11318,"line_start":294,"line_end":294,"column_start":30,"column_end":35,"is_primary":true,"text":[{"text":" let empty: HashMap<&str, Value> = HashMap::new();","highlight_start":30,"highlight_end":35}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/linux.rs","byte_start":11318,"byte_end":11318,"line_start":294,"line_end":294,"column_start":35,"column_end":35,"is_primary":true,"text":[{"text":" let empty: HashMap<&str, Value> = HashMap::new();","highlight_start":35,"highlight_end":35}],"label":null,"suggested_replacement":"<'_>","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/linux.rs:294:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m294\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let empty: HashMap<&str, Value> = HashMap::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mexpected lifetime parameter\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m294\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let empty: HashMap<&str, Value\u001b[0m\u001b[0m\u001b[38;5;10m<'_>\u001b[0m\u001b[0m> = HashMap::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/video_codec/provision.rs","byte_start":9299,"byte_end":9336,"line_start":234,"line_end":234,"column_start":30,"column_end":67,"is_primary":false,"text":[{"text":" let create_instance: libloading::Symbol =","highlight_start":30,"highlight_end":67}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"dll/src/desktop/extra/video_codec/provision.rs","byte_start":9317,"byte_end":9318,"line_start":234,"line_end":234,"column_start":48,"column_end":49,"is_primary":true,"text":[{"text":" let create_instance: libloading::Symbol =","highlight_start":48,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/video_codec/provision.rs","byte_start":9318,"byte_end":9318,"line_start":234,"line_end":234,"column_start":49,"column_end":49,"is_primary":true,"text":[{"text":" let create_instance: libloading::Symbol =","highlight_start":49,"highlight_end":49}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/video_codec/provision.rs:234:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m234\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let create_instance: libloading::Symbol =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m234\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let create_instance: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0mPfnCreateInstance> =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/video_codec/provision.rs","byte_start":9415,"byte_end":9462,"line_start":236,"line_end":236,"column_start":27,"column_end":74,"is_primary":false,"text":[{"text":" let enum_devices: libloading::Symbol =","highlight_start":27,"highlight_end":74}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"dll/src/desktop/extra/video_codec/provision.rs","byte_start":9433,"byte_end":9434,"line_start":236,"line_end":236,"column_start":45,"column_end":46,"is_primary":true,"text":[{"text":" let enum_devices: libloading::Symbol =","highlight_start":45,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/video_codec/provision.rs","byte_start":9434,"byte_end":9434,"line_start":236,"line_end":236,"column_start":46,"column_end":46,"is_primary":true,"text":[{"text":" let enum_devices: libloading::Symbol =","highlight_start":46,"highlight_end":46}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/video_codec/provision.rs:236:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m236\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let enum_devices: libloading::Symbol =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m----------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m236\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let enum_devices: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0mPfnEnumeratePhysicalDevices> =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/video_codec/provision.rs","byte_start":9551,"byte_end":9608,"line_start":238,"line_end":238,"column_start":27,"column_end":84,"is_primary":false,"text":[{"text":" let enum_dev_ext: libloading::Symbol =","highlight_start":27,"highlight_end":84}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"dll/src/desktop/extra/video_codec/provision.rs","byte_start":9569,"byte_end":9570,"line_start":238,"line_end":238,"column_start":45,"column_end":46,"is_primary":true,"text":[{"text":" let enum_dev_ext: libloading::Symbol =","highlight_start":45,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/video_codec/provision.rs","byte_start":9570,"byte_end":9570,"line_start":238,"line_end":238,"column_start":46,"column_end":46,"is_primary":true,"text":[{"text":" let enum_dev_ext: libloading::Symbol =","highlight_start":46,"highlight_end":46}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/video_codec/provision.rs:238:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m238\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let enum_dev_ext: libloading::Symbol =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--------------------------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m238\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let enum_dev_ext: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0mPfnEnumerateDeviceExtensionProperties> =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/video_codec/provision.rs","byte_start":9711,"byte_end":9749,"line_start":240,"line_end":240,"column_start":31,"column_end":69,"is_primary":false,"text":[{"text":" let destroy_instance: libloading::Symbol =","highlight_start":31,"highlight_end":69}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"dll/src/desktop/extra/video_codec/provision.rs","byte_start":9729,"byte_end":9730,"line_start":240,"line_end":240,"column_start":49,"column_end":50,"is_primary":true,"text":[{"text":" let destroy_instance: libloading::Symbol =","highlight_start":49,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/video_codec/provision.rs","byte_start":9730,"byte_end":9730,"line_start":240,"line_end":240,"column_start":50,"column_end":50,"is_primary":true,"text":[{"text":" let destroy_instance: libloading::Symbol =","highlight_start":50,"highlight_end":50}],"label":null,"suggested_replacement":"'_, ","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/video_codec/provision.rs:240:49\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m240\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let destroy_instance: libloading::Symbol =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m------------------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------------------\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m240\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let destroy_instance: libloading::Symbol<\u001b[0m\u001b[0m\u001b[38;5;10m'_, \u001b[0m\u001b[0mPfnDestroyInstance> =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/logging.rs","byte_start":4370,"byte_end":4379,"line_start":120,"line_end":120,"column_start":30,"column_end":39,"is_primary":true,"text":[{"text":" fn panic_fn(panic_info: &PanicInfo) {","highlight_start":30,"highlight_end":39}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/logging.rs","byte_start":4379,"byte_end":4379,"line_start":120,"line_end":120,"column_start":39,"column_end":39,"is_primary":true,"text":[{"text":" fn panic_fn(panic_info: &PanicInfo) {","highlight_start":39,"highlight_end":39}],"label":null,"suggested_replacement":"<'_>","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/logging.rs:120:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m120\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn panic_fn(panic_info: &PanicInfo) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mexpected lifetime parameter\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m120\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn panic_fn(panic_info: &PanicInfo\u001b[0m\u001b[0m\u001b[38;5;10m<'_>\u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/logging.rs","byte_start":14728,"byte_end":14741,"line_start":357,"line_end":357,"column_start":34,"column_end":47,"is_primary":false,"text":[{"text":" fn enabled(&self, metadata: &log::Metadata) -> bool {","highlight_start":34,"highlight_end":47}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"dll/src/desktop/logging.rs","byte_start":14733,"byte_end":14741,"line_start":357,"line_end":357,"column_start":39,"column_end":47,"is_primary":true,"text":[{"text":" fn enabled(&self, metadata: &log::Metadata) -> bool {","highlight_start":39,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/logging.rs","byte_start":14741,"byte_end":14741,"line_start":357,"line_end":357,"column_start":47,"column_end":47,"is_primary":true,"text":[{"text":" fn enabled(&self, metadata: &log::Metadata) -> bool {","highlight_start":47,"highlight_end":47}],"label":null,"suggested_replacement":"<'_>","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/logging.rs:357:39\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m357\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn enabled(&self, metadata: &log::Metadata) -> bool {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-----\u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m357\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn enabled(&self, metadata: &log::Metadata\u001b[0m\u001b[0m\u001b[38;5;10m<'_>\u001b[0m\u001b[0m) -> bool {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/logging.rs","byte_start":14832,"byte_end":14843,"line_start":361,"line_end":361,"column_start":28,"column_end":39,"is_primary":false,"text":[{"text":" fn log(&self, record: &log::Record) {","highlight_start":28,"highlight_end":39}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"dll/src/desktop/logging.rs","byte_start":14837,"byte_end":14843,"line_start":361,"line_end":361,"column_start":33,"column_end":39,"is_primary":true,"text":[{"text":" fn log(&self, record: &log::Record) {","highlight_start":33,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/logging.rs","byte_start":14843,"byte_end":14843,"line_start":361,"line_end":361,"column_start":39,"column_end":39,"is_primary":true,"text":[{"text":" fn log(&self, record: &log::Record) {","highlight_start":39,"highlight_end":39}],"label":null,"suggested_replacement":"<'_>","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/logging.rs:361:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m361\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn log(&self, record: &log::Record) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-----\u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m361\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn log(&self, record: &log::Record\u001b[0m\u001b[0m\u001b[38;5;10m<'_>\u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":171366,"byte_end":171427,"line_start":3871,"line_end":3871,"column_start":18,"column_end":79,"is_primary":true,"text":[{"text":" .map(azul_layout::window::LayoutWindow::create_css_animation_timer);","highlight_start":18,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":171366,"byte_end":171387,"line_start":3871,"line_end":3871,"column_start":18,"column_end":39,"is_primary":true,"text":[{"text":" .map(azul_layout::window::LayoutWindow::create_css_animation_timer);","highlight_start":18,"highlight_end":39}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:3871:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3871\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m .map(azul_layout::window::LayoutWindow::create_css_animation_timer);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3871\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m .map(\u001b[0m\u001b[0m\u001b[38;5;9mazul_layout::window::\u001b[0m\u001b[0mLayoutWindow::create_css_animation_timer);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3871\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m .map(LayoutWindow::create_css_animation_timer);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":532084,"byte_end":532104,"line_start":11062,"line_end":11062,"column_start":33,"column_end":53,"is_primary":true,"text":[{"text":" &info as *const InputInterpreterInfo as *const InputInterpreterInfo<'static>;","highlight_start":33,"highlight_end":53}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":532104,"byte_end":532104,"line_start":11062,"line_end":11062,"column_start":53,"column_end":53,"is_primary":true,"text":[{"text":" &info as *const InputInterpreterInfo as *const InputInterpreterInfo<'static>;","highlight_start":53,"highlight_end":53}],"label":null,"suggested_replacement":"<'_>","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:11062:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m11062\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &info as *const InputInterpreterInfo as *const InputInterpreterInfo<'static>;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mexpected lifetime parameter\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m11062\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m &info as *const InputInterpreterInfo\u001b[0m\u001b[0m\u001b[38;5;10m<'_>\u001b[0m\u001b[0m as *const InputInterpreterInfo<'static>;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/resources.rs","byte_start":1557,"byte_end":1643,"line_start":40,"line_end":40,"column_start":9,"column_end":95,"is_primary":true,"text":[{"text":" std::sync::Arc>,","highlight_start":9,"highlight_end":95}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/resources.rs","byte_start":1557,"byte_end":1568,"line_start":40,"line_end":40,"column_start":9,"column_end":20,"is_primary":true,"text":[{"text":" std::sync::Arc>,","highlight_start":9,"highlight_end":20}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/resources.rs:40:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m40\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::sync::Arc>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m40\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mstd::sync::\u001b[0m\u001b[0mArc>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m40\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m Arc>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/resources.rs","byte_start":2895,"byte_end":2981,"line_start":77,"line_end":77,"column_start":13,"column_end":99,"is_primary":true,"text":[{"text":" std::sync::Arc>,","highlight_start":13,"highlight_end":99}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/resources.rs","byte_start":2895,"byte_end":2906,"line_start":77,"line_end":77,"column_start":13,"column_end":24,"is_primary":true,"text":[{"text":" std::sync::Arc>,","highlight_start":13,"highlight_end":24}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/resources.rs:77:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m77\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::sync::Arc>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m77\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mstd::sync::\u001b[0m\u001b[0mArc>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m77\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m Arc>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_icons.rs","byte_start":9191,"byte_end":9225,"line_start":205,"line_end":205,"column_start":26,"column_end":60,"is_primary":true,"text":[{"text":" .map(alloc::string::ToString::to_string)","highlight_start":26,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_icons.rs","byte_start":9191,"byte_end":9206,"line_start":205,"line_end":205,"column_start":26,"column_end":41,"is_primary":true,"text":[{"text":" .map(alloc::string::ToString::to_string)","highlight_start":26,"highlight_end":41}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/system_icons.rs:205:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m205\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m .map(alloc::string::ToString::to_string)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m205\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m .map(\u001b[0m\u001b[0m\u001b[38;5;9malloc::string::\u001b[0m\u001b[0mToString::to_string)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m205\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m .map(ToString::to_string)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":17609,"byte_end":17628,"line_start":436,"line_end":436,"column_start":6,"column_end":25,"is_primary":true,"text":[{"text":") -> alloc::vec::Vec {","highlight_start":6,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":17609,"byte_end":17621,"line_start":436,"line_end":436,"column_start":6,"column_end":18,"is_primary":true,"text":[{"text":") -> alloc::vec::Vec {","highlight_start":6,"highlight_end":18}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/system_style.rs:436:6\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m436\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> alloc::vec::Vec {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m436\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m) -> \u001b[0m\u001b[0m\u001b[38;5;9malloc::vec::\u001b[0m\u001b[0mVec {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m436\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m) -> Vec {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":17792,"byte_end":17812,"line_start":439,"line_end":439,"column_start":20,"column_end":40,"is_primary":true,"text":[{"text":" let mut body = alloc::vec::Vec::new();","highlight_start":20,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":17792,"byte_end":17804,"line_start":439,"line_end":439,"column_start":20,"column_end":32,"is_primary":true,"text":[{"text":" let mut body = alloc::vec::Vec::new();","highlight_start":20,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/system_style.rs:439:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m439\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut body = alloc::vec::Vec::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m439\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut body = \u001b[0m\u001b[0m\u001b[38;5;9malloc::vec::\u001b[0m\u001b[0mVec::new();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m439\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut body = Vec::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":19020,"byte_end":19040,"line_start":465,"line_end":465,"column_start":29,"column_end":49,"is_primary":true,"text":[{"text":" let mut header_fields = alloc::vec::Vec::new();","highlight_start":29,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":19020,"byte_end":19032,"line_start":465,"line_end":465,"column_start":29,"column_end":41,"is_primary":true,"text":[{"text":" let mut header_fields = alloc::vec::Vec::new();","highlight_start":29,"highlight_end":41}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/system_style.rs:465:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut header_fields = alloc::vec::Vec::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut header_fields = \u001b[0m\u001b[0m\u001b[38;5;9malloc::vec::\u001b[0m\u001b[0mVec::new();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut header_fields = Vec::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":21179,"byte_end":21199,"line_start":511,"line_end":511,"column_start":19,"column_end":39,"is_primary":true,"text":[{"text":" let mut msg = alloc::vec::Vec::new();","highlight_start":19,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":21179,"byte_end":21191,"line_start":511,"line_end":511,"column_start":19,"column_end":31,"is_primary":true,"text":[{"text":" let mut msg = alloc::vec::Vec::new();","highlight_start":19,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/system_style.rs:511:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m511\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut msg = alloc::vec::Vec::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m511\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut msg = \u001b[0m\u001b[0m\u001b[38;5;9malloc::vec::\u001b[0m\u001b[0mVec::new();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m511\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut msg = Vec::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":22106,"byte_end":22125,"line_start":537,"line_end":537,"column_start":34,"column_end":53,"is_primary":true,"text":[{"text":"fn append_header_field(buf: &mut alloc::vec::Vec, code: u8, sig: char, value: &str) {","highlight_start":34,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":22106,"byte_end":22118,"line_start":537,"line_end":537,"column_start":34,"column_end":46,"is_primary":true,"text":[{"text":"fn append_header_field(buf: &mut alloc::vec::Vec, code: u8, sig: char, value: &str) {","highlight_start":34,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/system_style.rs:537:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m537\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mfn append_header_field(buf: &mut alloc::vec::Vec, code: u8, sig: char, value: &str) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m537\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mfn append_header_field(buf: &mut \u001b[0m\u001b[0m\u001b[38;5;9malloc::vec::\u001b[0m\u001b[0mVec, code: u8, sig: char, value: &str) {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m537\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mfn append_header_field(buf: &mut Vec, code: u8, sig: char, value: &str) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":123292,"byte_end":123311,"line_start":2878,"line_end":2878,"column_start":22,"column_end":41,"is_primary":true,"text":[{"text":" let mut pending: alloc::vec::Vec = alloc::vec::Vec::new();","highlight_start":22,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":123292,"byte_end":123304,"line_start":2878,"line_end":2878,"column_start":22,"column_end":34,"is_primary":true,"text":[{"text":" let mut pending: alloc::vec::Vec = alloc::vec::Vec::new();","highlight_start":22,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/system_style.rs:2878:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2878\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut pending: alloc::vec::Vec = alloc::vec::Vec::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2878\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut pending: \u001b[0m\u001b[0m\u001b[38;5;9malloc::vec::\u001b[0m\u001b[0mVec = alloc::vec::Vec::new();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2878\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut pending: Vec = alloc::vec::Vec::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":123314,"byte_end":123334,"line_start":2878,"line_end":2878,"column_start":44,"column_end":64,"is_primary":true,"text":[{"text":" let mut pending: alloc::vec::Vec = alloc::vec::Vec::new();","highlight_start":44,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":123314,"byte_end":123326,"line_start":2878,"line_end":2878,"column_start":44,"column_end":56,"is_primary":true,"text":[{"text":" let mut pending: alloc::vec::Vec = alloc::vec::Vec::new();","highlight_start":44,"highlight_end":56}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/system_style.rs:2878:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2878\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut pending: alloc::vec::Vec = alloc::vec::Vec::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2878\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut pending: alloc::vec::Vec = \u001b[0m\u001b[0m\u001b[38;5;9malloc::vec::\u001b[0m\u001b[0mVec::new();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2878\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut pending: alloc::vec::Vec = Vec::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":125061,"byte_end":125080,"line_start":2919,"line_end":2919,"column_start":22,"column_end":41,"is_primary":true,"text":[{"text":" let msg: alloc::vec::Vec = pending.drain(..len).collect();","highlight_start":22,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":125061,"byte_end":125073,"line_start":2919,"line_end":2919,"column_start":22,"column_end":34,"is_primary":true,"text":[{"text":" let msg: alloc::vec::Vec = pending.drain(..len).collect();","highlight_start":22,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/system_style.rs:2919:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2919\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let msg: alloc::vec::Vec = pending.drain(..len).collect();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2919\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let msg: \u001b[0m\u001b[0m\u001b[38;5;9malloc::vec::\u001b[0m\u001b[0mVec = pending.drain(..len).collect();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2919\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let msg: Vec = pending.drain(..len).collect();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/dbus/mod.rs","byte_start":1406,"byte_end":1426,"line_start":29,"line_end":29,"column_start":21,"column_end":41,"is_primary":true,"text":[{"text":" let lib = match dlopen::DBusLib::new() {","highlight_start":21,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/dbus/mod.rs","byte_start":1406,"byte_end":1414,"line_start":29,"line_end":29,"column_start":21,"column_end":29,"is_primary":true,"text":[{"text":" let lib = match dlopen::DBusLib::new() {","highlight_start":21,"highlight_end":29}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/dbus/mod.rs:29:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m29\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let lib = match dlopen::DBusLib::new() {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m29\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let lib = match \u001b[0m\u001b[0m\u001b[38;5;9mdlopen::\u001b[0m\u001b[0mDBusLib::new() {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m29\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let lib = match DBusLib::new() {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/defines.rs","byte_start":1497,"byte_end":1514,"line_start":57,"line_end":57,"column_start":20,"column_end":37,"is_primary":true,"text":[{"text":" data: *mut core::ffi::c_void,","highlight_start":20,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/defines.rs","byte_start":1497,"byte_end":1508,"line_start":57,"line_end":57,"column_start":20,"column_end":31,"is_primary":true,"text":[{"text":" data: *mut core::ffi::c_void,","highlight_start":20,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/defines.rs:57:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m57\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data: *mut core::ffi::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m57\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m data: *mut \u001b[0m\u001b[0m\u001b[38;5;9mcore::ffi::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m57\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m data: *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/defines.rs","byte_start":2127,"byte_end":2144,"line_start":79,"line_end":79,"column_start":20,"column_end":37,"is_primary":true,"text":[{"text":" data: *mut core::ffi::c_void,","highlight_start":20,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/defines.rs","byte_start":2127,"byte_end":2138,"line_start":79,"line_end":79,"column_start":20,"column_end":31,"is_primary":true,"text":[{"text":" data: *mut core::ffi::c_void,","highlight_start":20,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/defines.rs:79:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m79\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data: *mut core::ffi::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m79\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m data: *mut \u001b[0m\u001b[0m\u001b[38;5;9mcore::ffi::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m79\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m data: *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":1533,"byte_end":1559,"line_start":53,"line_end":53,"column_start":30,"column_end":56,"is_primary":true,"text":[{"text":" pub(super) pointer: *mut super::defines::wl_pointer,","highlight_start":30,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":1533,"byte_end":1549,"line_start":53,"line_end":53,"column_start":30,"column_end":46,"is_primary":true,"text":[{"text":" pub(super) pointer: *mut super::defines::wl_pointer,","highlight_start":30,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:53:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m53\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub(super) pointer: *mut super::defines::wl_pointer,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m53\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub(super) pointer: *mut \u001b[0m\u001b[0m\u001b[38;5;9msuper::defines::\u001b[0m\u001b[0mwl_pointer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m53\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub(super) pointer: *mut wl_pointer,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":1880,"byte_end":1911,"line_start":59,"line_end":59,"column_start":35,"column_end":66,"is_primary":true,"text":[{"text":" pub(super) cursor_theme: *mut super::defines::wl_cursor_theme,","highlight_start":35,"highlight_end":66}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":1880,"byte_end":1896,"line_start":59,"line_end":59,"column_start":35,"column_end":51,"is_primary":true,"text":[{"text":" pub(super) cursor_theme: *mut super::defines::wl_cursor_theme,","highlight_start":35,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:59:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m59\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub(super) cursor_theme: *mut super::defines::wl_cursor_theme,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m59\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub(super) cursor_theme: *mut \u001b[0m\u001b[0m\u001b[38;5;9msuper::defines::\u001b[0m\u001b[0mwl_cursor_theme,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m59\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub(super) cursor_theme: *mut wl_cursor_theme,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":2026,"byte_end":2052,"line_start":61,"line_end":61,"column_start":37,"column_end":63,"is_primary":true,"text":[{"text":" pub(super) cursor_surface: *mut super::defines::wl_surface,","highlight_start":37,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":2026,"byte_end":2042,"line_start":61,"line_end":61,"column_start":37,"column_end":53,"is_primary":true,"text":[{"text":" pub(super) cursor_surface: *mut super::defines::wl_surface,","highlight_start":37,"highlight_end":53}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:61:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub(super) cursor_surface: *mut super::defines::wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub(super) cursor_surface: *mut \u001b[0m\u001b[0m\u001b[38;5;9msuper::defines::\u001b[0m\u001b[0mwl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub(super) cursor_surface: *mut wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":6620,"byte_end":6635,"line_start":176,"line_end":176,"column_start":68,"column_end":83,"is_primary":true,"text":[{"text":"extern \"C\" fn wl_shm_format_handler(_data: *mut c_void, _shm: *mut defines::wl_shm, format: u32) {","highlight_start":68,"highlight_end":83}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":6620,"byte_end":6629,"line_start":176,"line_end":176,"column_start":68,"column_end":77,"is_primary":true,"text":[{"text":"extern \"C\" fn wl_shm_format_handler(_data: *mut c_void, _shm: *mut defines::wl_shm, format: u32) {","highlight_start":68,"highlight_end":77}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:176:68\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m176\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mextern \"C\" fn wl_shm_format_handler(_data: *mut c_void, _shm: *mut defines::wl_shm, format: u32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m176\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mextern \"C\" fn wl_shm_format_handler(_data: *mut c_void, _shm: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_shm, format: u32) {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m176\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mextern \"C\" fn wl_shm_format_handler(_data: *mut c_void, _shm: *mut wl_shm, format: u32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":6877,"byte_end":6941,"line_start":181,"line_end":181,"column_start":9,"column_end":73,"is_primary":true,"text":[{"text":" super::super::super::common::debug_server::LogCategory::Platform,","highlight_start":9,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":6877,"byte_end":6920,"line_start":181,"line_end":181,"column_start":9,"column_end":52,"is_primary":true,"text":[{"text":" super::super::super::common::debug_server::LogCategory::Platform,","highlight_start":9,"highlight_end":52}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:181:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m181\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m super::super::super::common::debug_server::LogCategory::Platform,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m181\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9msuper::super::super::common::debug_server::\u001b[0m\u001b[0mLogCategory::Platform,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m181\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::Platform,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":7040,"byte_end":7071,"line_start":185,"line_end":185,"column_start":18,"column_end":49,"is_primary":true,"text":[{"text":" if format == defines::WL_SHM_FORMAT_ABGR8888 {","highlight_start":18,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":7040,"byte_end":7049,"line_start":185,"line_end":185,"column_start":18,"column_end":27,"is_primary":true,"text":[{"text":" if format == defines::WL_SHM_FORMAT_ABGR8888 {","highlight_start":18,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:185:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m185\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if format == defines::WL_SHM_FORMAT_ABGR8888 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m185\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if format == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mWL_SHM_FORMAT_ABGR8888 {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m185\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if format == WL_SHM_FORMAT_ABGR8888 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":8515,"byte_end":8550,"line_start":229,"line_end":229,"column_start":36,"column_end":71,"is_primary":true,"text":[{"text":"static ZWP_TEXT_INPUT_V3_LISTENER: defines::zwp_text_input_v3_listener =","highlight_start":36,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":8515,"byte_end":8524,"line_start":229,"line_end":229,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":"static ZWP_TEXT_INPUT_V3_LISTENER: defines::zwp_text_input_v3_listener =","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:229:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m229\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mstatic ZWP_TEXT_INPUT_V3_LISTENER: defines::zwp_text_input_v3_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m229\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mstatic ZWP_TEXT_INPUT_V3_LISTENER: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_text_input_v3_listener =\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m229\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mstatic ZWP_TEXT_INPUT_V3_LISTENER: zwp_text_input_v3_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":8557,"byte_end":8592,"line_start":230,"line_end":230,"column_start":5,"column_end":40,"is_primary":true,"text":[{"text":" defines::zwp_text_input_v3_listener {","highlight_start":5,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":8557,"byte_end":8566,"line_start":230,"line_end":230,"column_start":5,"column_end":14,"is_primary":true,"text":[{"text":" defines::zwp_text_input_v3_listener {","highlight_start":5,"highlight_end":14}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:230:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m230\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::zwp_text_input_v3_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m230\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_text_input_v3_listener {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m230\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m zwp_text_input_v3_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":21062,"byte_end":21126,"line_start":553,"line_end":553,"column_start":29,"column_end":93,"is_primary":true,"text":[{"text":" super::super::super::common::debug_server::LogCategory::Platform,","highlight_start":29,"highlight_end":93}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":21062,"byte_end":21105,"line_start":553,"line_end":553,"column_start":29,"column_end":72,"is_primary":true,"text":[{"text":" super::super::super::common::debug_server::LogCategory::Platform,","highlight_start":29,"highlight_end":72}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:553:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m553\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m super::super::super::common::debug_server::LogCategory::Platform,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m553\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9msuper::super::super::common::debug_server::\u001b[0m\u001b[0mLogCategory::Platform,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m553\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::Platform,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":31744,"byte_end":31788,"line_start":795,"line_end":795,"column_start":37,"column_end":81,"is_primary":true,"text":[{"text":" let manager_interface = defines::get_text_input_manager_v3_interface();","highlight_start":37,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":31744,"byte_end":31753,"line_start":795,"line_end":795,"column_start":37,"column_end":46,"is_primary":true,"text":[{"text":" let manager_interface = defines::get_text_input_manager_v3_interface();","highlight_start":37,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:795:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m795\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let manager_interface = defines::get_text_input_manager_v3_interface();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m795\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let manager_interface = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mget_text_input_manager_v3_interface();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m795\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let manager_interface = get_text_input_manager_v3_interface();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":31831,"byte_end":31867,"line_start":796,"line_end":796,"column_start":40,"column_end":76,"is_primary":true,"text":[{"text":" let text_input_interface = defines::get_text_input_v3_interface();","highlight_start":40,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":31831,"byte_end":31840,"line_start":796,"line_end":796,"column_start":40,"column_end":49,"is_primary":true,"text":[{"text":" let text_input_interface = defines::get_text_input_v3_interface();","highlight_start":40,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:796:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m796\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let text_input_interface = defines::get_text_input_v3_interface();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m796\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let text_input_interface = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mget_text_input_v3_interface();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m796\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let text_input_interface = get_text_input_v3_interface();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":34032,"byte_end":34048,"line_start":832,"line_end":832,"column_start":38,"column_end":54,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":38,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":34032,"byte_end":34042,"line_start":832,"line_end":832,"column_start":38,"column_end":48,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":38,"highlight_end":48}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:832:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m832\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m *mut std::ffi::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m832\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m832\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":34435,"byte_end":34484,"line_start":840,"line_end":840,"column_start":33,"column_end":82,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,","highlight_start":33,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":34435,"byte_end":34444,"line_start":840,"line_end":840,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:840:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m840\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m840\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m840\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":35043,"byte_end":35059,"line_start":852,"line_end":852,"column_start":38,"column_end":54,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":38,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":35043,"byte_end":35053,"line_start":852,"line_end":852,"column_start":38,"column_end":48,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":38,"highlight_end":48}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:852:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m852\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m *mut std::ffi::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m852\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m852\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":35451,"byte_end":35500,"line_start":860,"line_end":860,"column_start":33,"column_end":82,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,","highlight_start":33,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":35451,"byte_end":35460,"line_start":860,"line_end":860,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:860:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m860\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m860\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m860\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":37484,"byte_end":37530,"line_start":901,"line_end":901,"column_start":21,"column_end":67,"is_primary":true,"text":[{"text":" super::defines::get_kde_blur_manager_interface(),","highlight_start":21,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":37484,"byte_end":37500,"line_start":901,"line_end":901,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" super::defines::get_kde_blur_manager_interface(),","highlight_start":21,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:901:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m901\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m super::defines::get_kde_blur_manager_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m901\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9msuper::defines::\u001b[0m\u001b[0mget_kde_blur_manager_interface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m901\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m get_kde_blur_manager_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":38537,"byte_end":38597,"line_start":923,"line_end":923,"column_start":21,"column_end":81,"is_primary":true,"text":[{"text":" super::defines::get_wp_fractional_scale_manager_v1_interface(),","highlight_start":21,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":38537,"byte_end":38553,"line_start":923,"line_end":923,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" super::defines::get_wp_fractional_scale_manager_v1_interface(),","highlight_start":21,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:923:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m923\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m super::defines::get_wp_fractional_scale_manager_v1_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m923\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9msuper::defines::\u001b[0m\u001b[0mget_wp_fractional_scale_manager_v1_interface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m923\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m get_wp_fractional_scale_manager_v1_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":39573,"byte_end":39616,"line_start":945,"line_end":945,"column_start":21,"column_end":64,"is_primary":true,"text":[{"text":" super::defines::get_wp_viewporter_interface(),","highlight_start":21,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":39573,"byte_end":39589,"line_start":945,"line_end":945,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" super::defines::get_wp_viewporter_interface(),","highlight_start":21,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:945:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m945\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m super::defines::get_wp_viewporter_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m945\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9msuper::defines::\u001b[0m\u001b[0mget_wp_viewporter_interface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m945\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m get_wp_viewporter_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":40584,"byte_end":40640,"line_start":967,"line_end":967,"column_start":21,"column_end":77,"is_primary":true,"text":[{"text":" super::defines::get_zxdg_decoration_manager_v1_interface(),","highlight_start":21,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":40584,"byte_end":40600,"line_start":967,"line_end":967,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" super::defines::get_zxdg_decoration_manager_v1_interface(),","highlight_start":21,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:967:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m967\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m super::defines::get_zxdg_decoration_manager_v1_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m967\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9msuper::defines::\u001b[0m\u001b[0mget_zxdg_decoration_manager_v1_interface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m967\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m get_zxdg_decoration_manager_v1_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":43520,"byte_end":43540,"line_start":1036,"line_end":1036,"column_start":47,"column_end":67,"is_primary":true,"text":[{"text":" let window = unsafe { &mut *(data as *mut super::WaylandWindow) };","highlight_start":47,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":43520,"byte_end":43527,"line_start":1036,"line_end":1036,"column_start":47,"column_end":54,"is_primary":true,"text":[{"text":" let window = unsafe { &mut *(data as *mut super::WaylandWindow) };","highlight_start":47,"highlight_end":54}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1036:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1036\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let window = unsafe { &mut *(data as *mut super::WaylandWindow) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1036\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let window = unsafe { &mut *(data as *mut \u001b[0m\u001b[0m\u001b[38;5;9msuper::\u001b[0m\u001b[0mWaylandWindow) };\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1036\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let window = unsafe { &mut *(data as *mut WaylandWindow) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":44125,"byte_end":44149,"line_start":1046,"line_end":1046,"column_start":37,"column_end":61,"is_primary":true,"text":[{"text":" let dead = proxy.cast::();","highlight_start":37,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":44125,"byte_end":44141,"line_start":1046,"line_end":1046,"column_start":37,"column_end":53,"is_primary":true,"text":[{"text":" let dead = proxy.cast::();","highlight_start":37,"highlight_end":53}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1046:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1046\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let dead = proxy.cast::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1046\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let dead = proxy.cast::<\u001b[0m\u001b[0m\u001b[38;5;9msuper::defines::\u001b[0m\u001b[0mwl_proxy>();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1046\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let dead = proxy.cast::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":45301,"byte_end":45325,"line_start":1079,"line_end":1079,"column_start":37,"column_end":61,"is_primary":true,"text":[{"text":" let dead = removed.proxy.cast::();","highlight_start":37,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":45301,"byte_end":45317,"line_start":1079,"line_end":1079,"column_start":37,"column_end":53,"is_primary":true,"text":[{"text":" let dead = removed.proxy.cast::();","highlight_start":37,"highlight_end":53}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1079:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1079\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let dead = removed.proxy.cast::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1079\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let dead = removed.proxy.cast::<\u001b[0m\u001b[0m\u001b[38;5;9msuper::defines::\u001b[0m\u001b[0mwl_proxy>();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1079\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let dead = removed.proxy.cast::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":49037,"byte_end":49057,"line_start":1178,"line_end":1178,"column_start":47,"column_end":67,"is_primary":true,"text":[{"text":" let window = unsafe { &mut *(data as *mut super::WaylandWindow) };","highlight_start":47,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":49037,"byte_end":49044,"line_start":1178,"line_end":1178,"column_start":47,"column_end":54,"is_primary":true,"text":[{"text":" let window = unsafe { &mut *(data as *mut super::WaylandWindow) };","highlight_start":47,"highlight_end":54}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1178:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1178\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let window = unsafe { &mut *(data as *mut super::WaylandWindow) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1178\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let window = unsafe { &mut *(data as *mut \u001b[0m\u001b[0m\u001b[38;5;9msuper::\u001b[0m\u001b[0mWaylandWindow) };\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1178\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let window = unsafe { &mut *(data as *mut WaylandWindow) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":49620,"byte_end":49640,"line_start":1197,"line_end":1197,"column_start":47,"column_end":67,"is_primary":true,"text":[{"text":" let window = unsafe { &mut *(data as *mut super::WaylandWindow) };","highlight_start":47,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":49620,"byte_end":49627,"line_start":1197,"line_end":1197,"column_start":47,"column_end":54,"is_primary":true,"text":[{"text":" let window = unsafe { &mut *(data as *mut super::WaylandWindow) };","highlight_start":47,"highlight_end":54}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1197:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1197\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let window = unsafe { &mut *(data as *mut super::WaylandWindow) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1197\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let window = unsafe { &mut *(data as *mut \u001b[0m\u001b[0m\u001b[38;5;9msuper::\u001b[0m\u001b[0mWaylandWindow) };\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1197\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let window = unsafe { &mut *(data as *mut WaylandWindow) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":51465,"byte_end":51501,"line_start":1238,"line_end":1238,"column_start":32,"column_end":68,"is_primary":true,"text":[{"text":" let text_input_interface = defines::get_text_input_v3_interface();","highlight_start":32,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":51465,"byte_end":51474,"line_start":1238,"line_end":1238,"column_start":32,"column_end":41,"is_primary":true,"text":[{"text":" let text_input_interface = defines::get_text_input_v3_interface();","highlight_start":32,"highlight_end":41}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1238:32\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1238\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let text_input_interface = defines::get_text_input_v3_interface();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1238\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let text_input_interface = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mget_text_input_v3_interface();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1238\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let text_input_interface = get_text_input_v3_interface();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":51820,"byte_end":51836,"line_start":1247,"line_end":1247,"column_start":18,"column_end":34,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":18,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":51820,"byte_end":51830,"line_start":1247,"line_end":1247,"column_start":18,"column_end":28,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":18,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1247:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut std::ffi::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":52039,"byte_end":52088,"line_start":1253,"line_end":1253,"column_start":13,"column_end":62,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,","highlight_start":13,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":52039,"byte_end":52048,"line_start":1253,"line_end":1253,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1253:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1253\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1253\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1253\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":52400,"byte_end":52416,"line_start":1265,"line_end":1265,"column_start":18,"column_end":34,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":18,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":52400,"byte_end":52410,"line_start":1265,"line_end":1265,"column_start":18,"column_end":28,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":18,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1265:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1265\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut std::ffi::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1265\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1265\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":52624,"byte_end":52673,"line_start":1271,"line_end":1271,"column_start":13,"column_end":62,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,","highlight_start":13,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":52624,"byte_end":52633,"line_start":1271,"line_end":1271,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1271:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1271\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1271\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1271\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":142628,"byte_end":142652,"line_start":3519,"line_end":3519,"column_start":41,"column_end":65,"is_primary":true,"text":[{"text":" let states_count = array.size / std::mem::size_of::();","highlight_start":41,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":142628,"byte_end":142638,"line_start":3519,"line_end":3519,"column_start":41,"column_end":51,"is_primary":true,"text":[{"text":" let states_count = array.size / std::mem::size_of::();","highlight_start":41,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:3519:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3519\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let states_count = array.size / std::mem::size_of::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3519\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let states_count = array.size / \u001b[0m\u001b[0m\u001b[38;5;9mstd::mem::\u001b[0m\u001b[0msize_of::();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3519\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let states_count = array.size / size_of::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":158357,"byte_end":158377,"line_start":3902,"line_end":3902,"column_start":47,"column_end":67,"is_primary":true,"text":[{"text":" let window = unsafe { &mut *(data as *mut super::WaylandWindow) };","highlight_start":47,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":158357,"byte_end":158364,"line_start":3902,"line_end":3902,"column_start":47,"column_end":54,"is_primary":true,"text":[{"text":" let window = unsafe { &mut *(data as *mut super::WaylandWindow) };","highlight_start":47,"highlight_end":54}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:3902:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3902\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let window = unsafe { &mut *(data as *mut super::WaylandWindow) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3902\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let window = unsafe { &mut *(data as *mut \u001b[0m\u001b[0m\u001b[38;5;9msuper::\u001b[0m\u001b[0mWaylandWindow) };\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3902\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let window = unsafe { &mut *(data as *mut WaylandWindow) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":159034,"byte_end":159054,"line_start":3920,"line_end":3920,"column_start":47,"column_end":67,"is_primary":true,"text":[{"text":" let window = unsafe { &mut *(data as *mut super::WaylandWindow) };","highlight_start":47,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":159034,"byte_end":159041,"line_start":3920,"line_end":3920,"column_start":47,"column_end":54,"is_primary":true,"text":[{"text":" let window = unsafe { &mut *(data as *mut super::WaylandWindow) };","highlight_start":47,"highlight_end":54}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:3920:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3920\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let window = unsafe { &mut *(data as *mut super::WaylandWindow) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3920\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let window = unsafe { &mut *(data as *mut \u001b[0m\u001b[0m\u001b[38;5;9msuper::\u001b[0m\u001b[0mWaylandWindow) };\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3920\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let window = unsafe { &mut *(data as *mut WaylandWindow) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":161505,"byte_end":161529,"line_start":3986,"line_end":3986,"column_start":30,"column_end":54,"is_primary":true,"text":[{"text":" let count = array.size / std::mem::size_of::();","highlight_start":30,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":161505,"byte_end":161515,"line_start":3986,"line_end":3986,"column_start":30,"column_end":40,"is_primary":true,"text":[{"text":" let count = array.size / std::mem::size_of::();","highlight_start":30,"highlight_end":40}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:3986:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3986\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let count = array.size / std::mem::size_of::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3986\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let count = array.size / \u001b[0m\u001b[0m\u001b[38;5;9mstd::mem::\u001b[0m\u001b[0msize_of::();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3986\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let count = array.size / size_of::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":167178,"byte_end":167194,"line_start":4132,"line_end":4132,"column_start":18,"column_end":34,"is_primary":true,"text":[{"text":" text: *const std::ffi::c_char,","highlight_start":18,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":167178,"byte_end":167188,"line_start":4132,"line_end":4132,"column_start":18,"column_end":28,"is_primary":true,"text":[{"text":" text: *const std::ffi::c_char,","highlight_start":18,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:4132:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4132\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text: *const std::ffi::c_char,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4132\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text: *const \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_char,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4132\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text: *const c_char,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":168211,"byte_end":168227,"line_start":4166,"line_end":4166,"column_start":18,"column_end":34,"is_primary":true,"text":[{"text":" text: *const std::ffi::c_char,","highlight_start":18,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":168211,"byte_end":168221,"line_start":4166,"line_end":4166,"column_start":18,"column_end":28,"is_primary":true,"text":[{"text":" text: *const std::ffi::c_char,","highlight_start":18,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:4166:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4166\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text: *const std::ffi::c_char,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4166\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text: *const \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_char,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4166\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text: *const c_char,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":202277,"byte_end":202301,"line_start":5005,"line_end":5005,"column_start":14,"column_end":38,"is_primary":true,"text":[{"text":" let dx = defines::wl_fixed_to_f64(dx_unaccel);","highlight_start":14,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":202277,"byte_end":202286,"line_start":5005,"line_end":5005,"column_start":14,"column_end":23,"is_primary":true,"text":[{"text":" let dx = defines::wl_fixed_to_f64(dx_unaccel);","highlight_start":14,"highlight_end":23}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5005:14\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5005\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let dx = defines::wl_fixed_to_f64(dx_unaccel);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5005\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let dx = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_fixed_to_f64(dx_unaccel);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5005\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let dx = wl_fixed_to_f64(dx_unaccel);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":202328,"byte_end":202352,"line_start":5006,"line_end":5006,"column_start":14,"column_end":38,"is_primary":true,"text":[{"text":" let dy = defines::wl_fixed_to_f64(dy_unaccel);","highlight_start":14,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":202328,"byte_end":202337,"line_start":5006,"line_end":5006,"column_start":14,"column_end":23,"is_primary":true,"text":[{"text":" let dy = defines::wl_fixed_to_f64(dy_unaccel);","highlight_start":14,"highlight_end":23}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5006:14\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5006\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let dy = defines::wl_fixed_to_f64(dy_unaccel);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5006\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let dy = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_fixed_to_f64(dy_unaccel);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5006\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let dy = wl_fixed_to_f64(dy_unaccel);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":202928,"byte_end":202969,"line_start":5020,"line_end":5020,"column_start":39,"column_end":80,"is_primary":true,"text":[{"text":"static ZWP_RELATIVE_POINTER_LISTENER: defines::zwp_relative_pointer_v1_listener =","highlight_start":39,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":202928,"byte_end":202937,"line_start":5020,"line_end":5020,"column_start":39,"column_end":48,"is_primary":true,"text":[{"text":"static ZWP_RELATIVE_POINTER_LISTENER: defines::zwp_relative_pointer_v1_listener =","highlight_start":39,"highlight_end":48}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5020:39\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5020\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mstatic ZWP_RELATIVE_POINTER_LISTENER: defines::zwp_relative_pointer_v1_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5020\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mstatic ZWP_RELATIVE_POINTER_LISTENER: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_relative_pointer_v1_listener =\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5020\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mstatic ZWP_RELATIVE_POINTER_LISTENER: zwp_relative_pointer_v1_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":202976,"byte_end":203017,"line_start":5021,"line_end":5021,"column_start":5,"column_end":46,"is_primary":true,"text":[{"text":" defines::zwp_relative_pointer_v1_listener {","highlight_start":5,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":202976,"byte_end":202985,"line_start":5021,"line_end":5021,"column_start":5,"column_end":14,"is_primary":true,"text":[{"text":" defines::zwp_relative_pointer_v1_listener {","highlight_start":5,"highlight_end":14}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5021:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5021\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::zwp_relative_pointer_v1_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5021\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_relative_pointer_v1_listener {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5021\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m zwp_relative_pointer_v1_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":203863,"byte_end":203902,"line_start":5041,"line_end":5041,"column_start":37,"column_end":76,"is_primary":true,"text":[{"text":"static ZWP_LOCKED_POINTER_LISTENER: defines::zwp_locked_pointer_v1_listener =","highlight_start":37,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":203863,"byte_end":203872,"line_start":5041,"line_end":5041,"column_start":37,"column_end":46,"is_primary":true,"text":[{"text":"static ZWP_LOCKED_POINTER_LISTENER: defines::zwp_locked_pointer_v1_listener =","highlight_start":37,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5041:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5041\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mstatic ZWP_LOCKED_POINTER_LISTENER: defines::zwp_locked_pointer_v1_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5041\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mstatic ZWP_LOCKED_POINTER_LISTENER: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_locked_pointer_v1_listener =\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5041\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mstatic ZWP_LOCKED_POINTER_LISTENER: zwp_locked_pointer_v1_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":203909,"byte_end":203948,"line_start":5042,"line_end":5042,"column_start":5,"column_end":44,"is_primary":true,"text":[{"text":" defines::zwp_locked_pointer_v1_listener {","highlight_start":5,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":203909,"byte_end":203918,"line_start":5042,"line_end":5042,"column_start":5,"column_end":14,"is_primary":true,"text":[{"text":" defines::zwp_locked_pointer_v1_listener {","highlight_start":5,"highlight_end":14}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5042:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5042\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::zwp_locked_pointer_v1_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5042\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_locked_pointer_v1_listener {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5042\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m zwp_locked_pointer_v1_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":206070,"byte_end":206125,"line_start":5102,"line_end":5102,"column_start":9,"column_end":64,"is_primary":true,"text":[{"text":" defines::ZWP_POINTER_CONSTRAINTS_V1_LIFETIME_PERSISTENT,","highlight_start":9,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":206070,"byte_end":206079,"line_start":5102,"line_end":5102,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" defines::ZWP_POINTER_CONSTRAINTS_V1_LIFETIME_PERSISTENT,","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5102:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5102\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_POINTER_CONSTRAINTS_V1_LIFETIME_PERSISTENT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5102\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_POINTER_CONSTRAINTS_V1_LIFETIME_PERSISTENT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5102\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_POINTER_CONSTRAINTS_V1_LIFETIME_PERSISTENT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":13327,"byte_end":13345,"line_start":316,"line_end":316,"column_start":18,"column_end":36,"is_primary":true,"text":[{"text":" buffer: *mut defines::wl_buffer,","highlight_start":18,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":13327,"byte_end":13336,"line_start":316,"line_end":316,"column_start":18,"column_end":27,"is_primary":true,"text":[{"text":" buffer: *mut defines::wl_buffer,","highlight_start":18,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:316:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m316\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m buffer: *mut defines::wl_buffer,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m316\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m buffer: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_buffer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m316\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m buffer: *mut wl_buffer,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":14712,"byte_end":14732,"line_start":345,"line_end":345,"column_start":16,"column_end":36,"is_primary":true,"text":[{"text":" pool: *mut defines::wl_shm_pool,","highlight_start":16,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":14712,"byte_end":14721,"line_start":345,"line_end":345,"column_start":16,"column_end":25,"is_primary":true,"text":[{"text":" pool: *mut defines::wl_shm_pool,","highlight_start":16,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:345:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m345\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pool: *mut defines::wl_shm_pool,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m345\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pool: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_shm_pool,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m345\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pool: *mut wl_shm_pool,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":16311,"byte_end":16329,"line_start":378,"line_end":378,"column_start":74,"column_end":92,"is_primary":true,"text":[{"text":"extern \"C\" fn wl_buffer_release_handler(data: *mut c_void, _buffer: *mut defines::wl_buffer) {","highlight_start":74,"highlight_end":92}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":16311,"byte_end":16320,"line_start":378,"line_end":378,"column_start":74,"column_end":83,"is_primary":true,"text":[{"text":"extern \"C\" fn wl_buffer_release_handler(data: *mut c_void, _buffer: *mut defines::wl_buffer) {","highlight_start":74,"highlight_end":83}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:378:74\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m378\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mextern \"C\" fn wl_buffer_release_handler(data: *mut c_void, _buffer: *mut defines::wl_buffer) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m378\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mextern \"C\" fn wl_buffer_release_handler(data: *mut c_void, _buffer: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_buffer) {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m378\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mextern \"C\" fn wl_buffer_release_handler(data: *mut c_void, _buffer: *mut wl_buffer) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":16471,"byte_end":16498,"line_start":386,"line_end":386,"column_start":36,"column_end":63,"is_primary":true,"text":[{"text":"static WL_BUFFER_RELEASE_LISTENER: defines::wl_buffer_listener = defines::wl_buffer_listener {","highlight_start":36,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":16471,"byte_end":16480,"line_start":386,"line_end":386,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":"static WL_BUFFER_RELEASE_LISTENER: defines::wl_buffer_listener = defines::wl_buffer_listener {","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:386:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m386\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mstatic WL_BUFFER_RELEASE_LISTENER: defines::wl_buffer_listener = defines::wl_buffer_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m386\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mstatic WL_BUFFER_RELEASE_LISTENER: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_buffer_listener = defines::wl_buffer_listener {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m386\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mstatic WL_BUFFER_RELEASE_LISTENER: wl_buffer_listener = defines::wl_buffer_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":16501,"byte_end":16528,"line_start":386,"line_end":386,"column_start":66,"column_end":93,"is_primary":true,"text":[{"text":"static WL_BUFFER_RELEASE_LISTENER: defines::wl_buffer_listener = defines::wl_buffer_listener {","highlight_start":66,"highlight_end":93}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":16501,"byte_end":16510,"line_start":386,"line_end":386,"column_start":66,"column_end":75,"is_primary":true,"text":[{"text":"static WL_BUFFER_RELEASE_LISTENER: defines::wl_buffer_listener = defines::wl_buffer_listener {","highlight_start":66,"highlight_end":75}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:386:66\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m386\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mstatic WL_BUFFER_RELEASE_LISTENER: defines::wl_buffer_listener = defines::wl_buffer_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m386\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mstatic WL_BUFFER_RELEASE_LISTENER: defines::wl_buffer_listener = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_buffer_listener {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m386\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mstatic WL_BUFFER_RELEASE_LISTENER: defines::wl_buffer_listener = wl_buffer_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":16698,"byte_end":16716,"line_start":393,"line_end":393,"column_start":21,"column_end":39,"is_primary":true,"text":[{"text":" pub proxy: *mut defines::wl_output,","highlight_start":21,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":16698,"byte_end":16707,"line_start":393,"line_end":393,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" pub proxy: *mut defines::wl_output,","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:393:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub proxy: *mut defines::wl_output,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub proxy: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_output,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub proxy: *mut wl_output,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":22787,"byte_end":22821,"line_start":549,"line_end":549,"column_start":37,"column_end":71,"is_primary":true,"text":[{"text":" text_input_manager: Option<*mut defines::zwp_text_input_manager_v3>, /* Wayland text-input","highlight_start":37,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":22787,"byte_end":22796,"line_start":549,"line_end":549,"column_start":37,"column_end":46,"is_primary":true,"text":[{"text":" text_input_manager: Option<*mut defines::zwp_text_input_manager_v3>, /* Wayland text-input","highlight_start":37,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:549:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m549\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input_manager: Option<*mut defines::zwp_text_input_manager_v3>, /* Wayland text-input\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m549\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input_manager: Option<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_text_input_manager_v3>, /* Wayland text-input\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m549\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input_manager: Option<*mut zwp_text_input_manager_v3>, /* Wayland text-input\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":22923,"byte_end":22949,"line_start":551,"line_end":551,"column_start":29,"column_end":55,"is_primary":true,"text":[{"text":" text_input: Option<*mut defines::zwp_text_input_v3>, // Wayland text-input v3 instance","highlight_start":29,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":22923,"byte_end":22932,"line_start":551,"line_end":551,"column_start":29,"column_end":38,"is_primary":true,"text":[{"text":" text_input: Option<*mut defines::zwp_text_input_v3>, // Wayland text-input v3 instance","highlight_start":29,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:551:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m551\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input: Option<*mut defines::zwp_text_input_v3>, // Wayland text-input v3 instance\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m551\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input: Option<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_text_input_v3>, // Wayland text-input v3 instance\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m551\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input: Option<*mut zwp_text_input_v3>, // Wayland text-input v3 instance\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":23477,"byte_end":23503,"line_start":557,"line_end":557,"column_start":60,"column_end":86,"is_primary":true,"text":[{"text":" seat_text_inputs: std::collections::BTreeMap,","highlight_start":60,"highlight_end":86}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":23477,"byte_end":23486,"line_start":557,"line_end":557,"column_start":60,"column_end":69,"is_primary":true,"text":[{"text":" seat_text_inputs: std::collections::BTreeMap,","highlight_start":60,"highlight_end":69}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:557:60\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m557\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat_text_inputs: std::collections::BTreeMap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m557\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m seat_text_inputs: std::collections::BTreeMap,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m557\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m seat_text_inputs: std::collections::BTreeMap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":24048,"byte_end":24067,"line_start":565,"line_end":565,"column_start":23,"column_end":42,"is_primary":true,"text":[{"text":" pub display: *mut defines::wl_display,","highlight_start":23,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":24048,"byte_end":24057,"line_start":565,"line_end":565,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" pub display: *mut defines::wl_display,","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:565:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m565\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub display: *mut defines::wl_display,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m565\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub display: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_display,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m565\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub display: *mut wl_display,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":24088,"byte_end":24108,"line_start":566,"line_end":566,"column_start":20,"column_end":40,"is_primary":true,"text":[{"text":" registry: *mut defines::wl_registry,","highlight_start":20,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":24088,"byte_end":24097,"line_start":566,"line_end":566,"column_start":20,"column_end":29,"is_primary":true,"text":[{"text":" registry: *mut defines::wl_registry,","highlight_start":20,"highlight_end":29}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:566:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m566\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m registry: *mut defines::wl_registry,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m566\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m registry: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_registry,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m566\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m registry: *mut wl_registry,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":24131,"byte_end":24153,"line_start":567,"line_end":567,"column_start":22,"column_end":44,"is_primary":true,"text":[{"text":" compositor: *mut defines::wl_compositor,","highlight_start":22,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":24131,"byte_end":24140,"line_start":567,"line_end":567,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" compositor: *mut defines::wl_compositor,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:567:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m567\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m compositor: *mut defines::wl_compositor,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m567\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m compositor: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_compositor,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m567\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m compositor: *mut wl_compositor,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":24169,"byte_end":24184,"line_start":568,"line_end":568,"column_start":15,"column_end":30,"is_primary":true,"text":[{"text":" shm: *mut defines::wl_shm,","highlight_start":15,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":24169,"byte_end":24178,"line_start":568,"line_end":568,"column_start":15,"column_end":24,"is_primary":true,"text":[{"text":" shm: *mut defines::wl_shm,","highlight_start":15,"highlight_end":24}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:568:15\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m568\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m shm: *mut defines::wl_shm,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m568\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m shm: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_shm,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m568\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m shm: *mut wl_shm,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":24201,"byte_end":24217,"line_start":569,"line_end":569,"column_start":16,"column_end":32,"is_primary":true,"text":[{"text":" seat: *mut defines::wl_seat,","highlight_start":16,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":24201,"byte_end":24210,"line_start":569,"line_end":569,"column_start":16,"column_end":25,"is_primary":true,"text":[{"text":" seat: *mut defines::wl_seat,","highlight_start":16,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:569:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m569\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat: *mut defines::wl_seat,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m569\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m seat: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_seat,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m569\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m seat: *mut wl_seat,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":24816,"byte_end":24832,"line_start":577,"line_end":577,"column_start":66,"column_end":82,"is_primary":true,"text":[{"text":" seats: crate::desktop::shell2::common::seats::SeatTable<*mut std::ffi::c_void>,","highlight_start":66,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":24816,"byte_end":24826,"line_start":577,"line_end":577,"column_start":66,"column_end":76,"is_primary":true,"text":[{"text":" seats: crate::desktop::shell2::common::seats::SeatTable<*mut std::ffi::c_void>,","highlight_start":66,"highlight_end":76}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:577:66\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m577\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seats: crate::desktop::shell2::common::seats::SeatTable<*mut std::ffi::c_void>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m577\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m seats: crate::desktop::shell2::common::seats::SeatTable<*mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m577\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m seats: crate::desktop::shell2::common::seats::SeatTable<*mut c_void>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":25697,"byte_end":25737,"line_start":590,"line_end":590,"column_start":46,"column_end":86,"is_primary":true,"text":[{"text":" std::collections::BTreeMap,","highlight_start":46,"highlight_end":86}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":25697,"byte_end":25706,"line_start":590,"line_end":590,"column_start":46,"column_end":55,"is_primary":true,"text":[{"text":" std::collections::BTreeMap,","highlight_start":46,"highlight_end":55}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:590:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m590\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::collections::BTreeMap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m590\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m std::collections::BTreeMap,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m590\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m std::collections::BTreeMap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":25882,"byte_end":25922,"line_start":593,"line_end":593,"column_start":46,"column_end":86,"is_primary":true,"text":[{"text":" std::collections::BTreeMap,","highlight_start":46,"highlight_end":86}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":25882,"byte_end":25891,"line_start":593,"line_end":593,"column_start":46,"column_end":55,"is_primary":true,"text":[{"text":" std::collections::BTreeMap,","highlight_start":46,"highlight_end":55}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:593:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m593\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::collections::BTreeMap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m593\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m std::collections::BTreeMap,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m593\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m std::collections::BTreeMap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":26354,"byte_end":26393,"line_start":601,"line_end":601,"column_start":46,"column_end":85,"is_primary":true,"text":[{"text":" std::collections::BTreeMap,","highlight_start":46,"highlight_end":85}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":26354,"byte_end":26363,"line_start":601,"line_end":601,"column_start":46,"column_end":55,"is_primary":true,"text":[{"text":" std::collections::BTreeMap,","highlight_start":46,"highlight_end":55}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:601:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::collections::BTreeMap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m std::collections::BTreeMap,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m std::collections::BTreeMap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":26794,"byte_end":26813,"line_start":607,"line_end":607,"column_start":64,"column_end":83,"is_primary":true,"text":[{"text":" seat_cursor_surfaces: std::collections::BTreeMap,","highlight_start":64,"highlight_end":83}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":26794,"byte_end":26803,"line_start":607,"line_end":607,"column_start":64,"column_end":73,"is_primary":true,"text":[{"text":" seat_cursor_surfaces: std::collections::BTreeMap,","highlight_start":64,"highlight_end":73}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:607:64\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m607\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat_cursor_surfaces: std::collections::BTreeMap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m607\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m seat_cursor_surfaces: std::collections::BTreeMap,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m607\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m seat_cursor_surfaces: std::collections::BTreeMap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":27177,"byte_end":27197,"line_start":613,"line_end":613,"column_start":23,"column_end":43,"is_primary":true,"text":[{"text":" xdg_wm_base: *mut defines::xdg_wm_base,","highlight_start":23,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":27177,"byte_end":27186,"line_start":613,"line_end":613,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" xdg_wm_base: *mut defines::xdg_wm_base,","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:613:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m613\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m xdg_wm_base: *mut defines::xdg_wm_base,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m613\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m xdg_wm_base: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_wm_base,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m613\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m xdg_wm_base: *mut xdg_wm_base,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":27228,"byte_end":27247,"line_start":614,"line_end":614,"column_start":30,"column_end":49,"is_primary":true,"text":[{"text":" pub(crate) surface: *mut defines::wl_surface,","highlight_start":30,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":27228,"byte_end":27237,"line_start":614,"line_end":614,"column_start":30,"column_end":39,"is_primary":true,"text":[{"text":" pub(crate) surface: *mut defines::wl_surface,","highlight_start":30,"highlight_end":39}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:614:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m614\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub(crate) surface: *mut defines::wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m614\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub(crate) surface: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m614\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub(crate) surface: *mut wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":27271,"byte_end":27291,"line_start":615,"line_end":615,"column_start":23,"column_end":43,"is_primary":true,"text":[{"text":" xdg_surface: *mut defines::xdg_surface,","highlight_start":23,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":27271,"byte_end":27280,"line_start":615,"line_end":615,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" xdg_surface: *mut defines::xdg_surface,","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:615:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m615\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m xdg_surface: *mut defines::xdg_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m615\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m xdg_surface: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m615\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m xdg_surface: *mut xdg_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":27316,"byte_end":27337,"line_start":616,"line_end":616,"column_start":24,"column_end":45,"is_primary":true,"text":[{"text":" xdg_toplevel: *mut defines::xdg_toplevel,","highlight_start":24,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":27316,"byte_end":27325,"line_start":616,"line_end":616,"column_start":24,"column_end":33,"is_primary":true,"text":[{"text":" xdg_toplevel: *mut defines::xdg_toplevel,","highlight_start":24,"highlight_end":33}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:616:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m616\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m xdg_toplevel: *mut defines::xdg_toplevel,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m616\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m xdg_toplevel: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_toplevel,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m616\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m xdg_toplevel: *mut xdg_toplevel,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":27361,"byte_end":27384,"line_start":617,"line_end":617,"column_start":23,"column_end":46,"is_primary":true,"text":[{"text":" event_queue: *mut defines::wl_event_queue,","highlight_start":23,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":27361,"byte_end":27370,"line_start":617,"line_end":617,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" event_queue: *mut defines::wl_event_queue,","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:617:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m617\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_queue: *mut defines::wl_event_queue,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m617\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m event_queue: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_event_queue,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m617\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event_queue: *mut wl_event_queue,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":27676,"byte_end":27696,"line_start":622,"line_end":622,"column_start":20,"column_end":40,"is_primary":true,"text":[{"text":" keyboard: *mut defines::wl_keyboard,","highlight_start":20,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":27676,"byte_end":27685,"line_start":622,"line_end":622,"column_start":20,"column_end":29,"is_primary":true,"text":[{"text":" keyboard: *mut defines::wl_keyboard,","highlight_start":20,"highlight_end":29}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:622:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m622\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m keyboard: *mut defines::wl_keyboard,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m622\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m keyboard: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_keyboard,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m622\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m keyboard: *mut wl_keyboard,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":28108,"byte_end":28125,"line_start":629,"line_end":629,"column_start":17,"column_end":34,"is_primary":true,"text":[{"text":" touch: *mut defines::wl_touch,","highlight_start":17,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":28108,"byte_end":28117,"line_start":629,"line_end":629,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" touch: *mut defines::wl_touch,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:629:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m629\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m touch: *mut defines::wl_touch,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m629\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m touch: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_touch,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m629\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m touch: *mut wl_touch,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":28152,"byte_end":28182,"line_start":630,"line_end":630,"column_start":26,"column_end":56,"is_primary":true,"text":[{"text":" tablet_manager: *mut defines::zwp_tablet_manager_v2,","highlight_start":26,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":28152,"byte_end":28161,"line_start":630,"line_end":630,"column_start":26,"column_end":35,"is_primary":true,"text":[{"text":" tablet_manager: *mut defines::zwp_tablet_manager_v2,","highlight_start":26,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:630:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m630\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m tablet_manager: *mut defines::zwp_tablet_manager_v2,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m630\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m tablet_manager: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_tablet_manager_v2,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m630\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m tablet_manager: *mut zwp_tablet_manager_v2,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":28206,"byte_end":28233,"line_start":631,"line_end":631,"column_start":23,"column_end":50,"is_primary":true,"text":[{"text":" tablet_seat: *mut defines::zwp_tablet_seat_v2,","highlight_start":23,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":28206,"byte_end":28215,"line_start":631,"line_end":631,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" tablet_seat: *mut defines::zwp_tablet_seat_v2,","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:631:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m631\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m tablet_seat: *mut defines::zwp_tablet_seat_v2,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m631\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m tablet_seat: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_tablet_seat_v2,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m631\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m tablet_seat: *mut zwp_tablet_seat_v2,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":28473,"byte_end":28500,"line_start":635,"line_end":635,"column_start":61,"column_end":88,"is_primary":true,"text":[{"text":" seat_tablet_seats: std::collections::BTreeMap,","highlight_start":61,"highlight_end":88}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":28473,"byte_end":28482,"line_start":635,"line_end":635,"column_start":61,"column_end":70,"is_primary":true,"text":[{"text":" seat_tablet_seats: std::collections::BTreeMap,","highlight_start":61,"highlight_end":70}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:635:61\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m635\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat_tablet_seats: std::collections::BTreeMap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m635\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m seat_tablet_seats: std::collections::BTreeMap,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m635\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m seat_tablet_seats: std::collections::BTreeMap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":29051,"byte_end":29091,"line_start":644,"line_end":644,"column_start":36,"column_end":76,"is_primary":true,"text":[{"text":" relative_pointer_manager: *mut defines::zwp_relative_pointer_manager_v1,","highlight_start":36,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":29051,"byte_end":29060,"line_start":644,"line_end":644,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" relative_pointer_manager: *mut defines::zwp_relative_pointer_manager_v1,","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:644:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m644\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m relative_pointer_manager: *mut defines::zwp_relative_pointer_manager_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m644\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m relative_pointer_manager: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_relative_pointer_manager_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m644\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m relative_pointer_manager: *mut zwp_relative_pointer_manager_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":29196,"byte_end":29228,"line_start":646,"line_end":646,"column_start":28,"column_end":60,"is_primary":true,"text":[{"text":" relative_pointer: *mut defines::zwp_relative_pointer_v1,","highlight_start":28,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":29196,"byte_end":29205,"line_start":646,"line_end":646,"column_start":28,"column_end":37,"is_primary":true,"text":[{"text":" relative_pointer: *mut defines::zwp_relative_pointer_v1,","highlight_start":28,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:646:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m646\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m relative_pointer: *mut defines::zwp_relative_pointer_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m646\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m relative_pointer: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_relative_pointer_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m646\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m relative_pointer: *mut zwp_relative_pointer_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":29331,"byte_end":29366,"line_start":648,"line_end":648,"column_start":31,"column_end":66,"is_primary":true,"text":[{"text":" pointer_constraints: *mut defines::zwp_pointer_constraints_v1,","highlight_start":31,"highlight_end":66}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":29331,"byte_end":29340,"line_start":648,"line_end":648,"column_start":31,"column_end":40,"is_primary":true,"text":[{"text":" pointer_constraints: *mut defines::zwp_pointer_constraints_v1,","highlight_start":31,"highlight_end":40}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:648:31\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m648\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pointer_constraints: *mut defines::zwp_pointer_constraints_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m648\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pointer_constraints: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_pointer_constraints_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m648\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pointer_constraints: *mut zwp_pointer_constraints_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":29570,"byte_end":29600,"line_start":652,"line_end":652,"column_start":26,"column_end":56,"is_primary":true,"text":[{"text":" locked_pointer: *mut defines::zwp_locked_pointer_v1,","highlight_start":26,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":29570,"byte_end":29579,"line_start":652,"line_end":652,"column_start":26,"column_end":35,"is_primary":true,"text":[{"text":" locked_pointer: *mut defines::zwp_locked_pointer_v1,","highlight_start":26,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:652:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m652\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m locked_pointer: *mut defines::zwp_locked_pointer_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m652\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m locked_pointer: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_locked_pointer_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m652\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m locked_pointer: *mut zwp_locked_pointer_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":29709,"byte_end":29741,"line_start":654,"line_end":654,"column_start":28,"column_end":60,"is_primary":true,"text":[{"text":" pointer_gestures: *mut defines::zwp_pointer_gestures_v1,","highlight_start":28,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":29709,"byte_end":29718,"line_start":654,"line_end":654,"column_start":28,"column_end":37,"is_primary":true,"text":[{"text":" pointer_gestures: *mut defines::zwp_pointer_gestures_v1,","highlight_start":28,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:654:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m654\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pointer_gestures: *mut defines::zwp_pointer_gestures_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m654\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pointer_gestures: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_pointer_gestures_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m654\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pointer_gestures: *mut zwp_pointer_gestures_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":30767,"byte_end":30798,"line_start":670,"line_end":670,"column_start":31,"column_end":62,"is_primary":true,"text":[{"text":" data_device_manager: *mut defines::wl_data_device_manager,","highlight_start":31,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":30767,"byte_end":30776,"line_start":670,"line_end":670,"column_start":31,"column_end":40,"is_primary":true,"text":[{"text":" data_device_manager: *mut defines::wl_data_device_manager,","highlight_start":31,"highlight_end":40}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:670:31\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m670\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data_device_manager: *mut defines::wl_data_device_manager,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m670\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m data_device_manager: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_data_device_manager,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m670\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m data_device_manager: *mut wl_data_device_manager,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":30822,"byte_end":30845,"line_start":671,"line_end":671,"column_start":23,"column_end":46,"is_primary":true,"text":[{"text":" data_device: *mut defines::wl_data_device,","highlight_start":23,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":30822,"byte_end":30831,"line_start":671,"line_end":671,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" data_device: *mut defines::wl_data_device,","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:671:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m671\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data_device: *mut defines::wl_data_device,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m671\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m data_device: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_data_device,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m671\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m data_device: *mut wl_data_device,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":31012,"byte_end":31034,"line_start":674,"line_end":674,"column_start":27,"column_end":49,"is_primary":true,"text":[{"text":" clipboard_offer: *mut defines::wl_data_offer,","highlight_start":27,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":31012,"byte_end":31021,"line_start":674,"line_end":674,"column_start":27,"column_end":36,"is_primary":true,"text":[{"text":" clipboard_offer: *mut defines::wl_data_offer,","highlight_start":27,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:674:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m674\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m clipboard_offer: *mut defines::wl_data_offer,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m674\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m clipboard_offer: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_data_offer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m674\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m clipboard_offer: *mut wl_data_offer,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":31207,"byte_end":31230,"line_start":677,"line_end":677,"column_start":28,"column_end":51,"is_primary":true,"text":[{"text":" clipboard_source: *mut defines::wl_data_source,","highlight_start":28,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":31207,"byte_end":31216,"line_start":677,"line_end":677,"column_start":28,"column_end":37,"is_primary":true,"text":[{"text":" clipboard_source: *mut defines::wl_data_source,","highlight_start":28,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:677:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m677\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m clipboard_source: *mut defines::wl_data_source,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m677\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m clipboard_source: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_data_source,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m677\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m clipboard_source: *mut wl_data_source,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":31646,"byte_end":31694,"line_start":684,"line_end":684,"column_start":37,"column_end":85,"is_primary":true,"text":[{"text":" primary_selection_manager: *mut defines::zwp_primary_selection_device_manager_v1,","highlight_start":37,"highlight_end":85}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":31646,"byte_end":31655,"line_start":684,"line_end":684,"column_start":37,"column_end":46,"is_primary":true,"text":[{"text":" primary_selection_manager: *mut defines::zwp_primary_selection_device_manager_v1,","highlight_start":37,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:684:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m684\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m primary_selection_manager: *mut defines::zwp_primary_selection_device_manager_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m684\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m primary_selection_manager: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_primary_selection_device_manager_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m684\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m primary_selection_manager: *mut zwp_primary_selection_device_manager_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":31731,"byte_end":31771,"line_start":685,"line_end":685,"column_start":36,"column_end":76,"is_primary":true,"text":[{"text":" primary_selection_device: *mut defines::zwp_primary_selection_device_v1,","highlight_start":36,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":31731,"byte_end":31740,"line_start":685,"line_end":685,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" primary_selection_device: *mut defines::zwp_primary_selection_device_v1,","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:685:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m685\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m primary_selection_device: *mut defines::zwp_primary_selection_device_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m685\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m primary_selection_device: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_primary_selection_device_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m685\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m primary_selection_device: *mut zwp_primary_selection_device_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":31907,"byte_end":31946,"line_start":688,"line_end":688,"column_start":35,"column_end":74,"is_primary":true,"text":[{"text":" primary_selection_offer: *mut defines::zwp_primary_selection_offer_v1,","highlight_start":35,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":31907,"byte_end":31916,"line_start":688,"line_end":688,"column_start":35,"column_end":44,"is_primary":true,"text":[{"text":" primary_selection_offer: *mut defines::zwp_primary_selection_offer_v1,","highlight_start":35,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:688:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m688\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m primary_selection_offer: *mut defines::zwp_primary_selection_offer_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m688\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m primary_selection_offer: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_primary_selection_offer_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m688\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m primary_selection_offer: *mut zwp_primary_selection_offer_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":32121,"byte_end":32161,"line_start":691,"line_end":691,"column_start":36,"column_end":76,"is_primary":true,"text":[{"text":" primary_selection_source: *mut defines::zwp_primary_selection_source_v1,","highlight_start":36,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":32121,"byte_end":32130,"line_start":691,"line_end":691,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" primary_selection_source: *mut defines::zwp_primary_selection_source_v1,","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:691:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m691\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m primary_selection_source: *mut defines::zwp_primary_selection_source_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m691\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m primary_selection_source: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_primary_selection_source_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m691\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m primary_selection_source: *mut zwp_primary_selection_source_v1,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":36666,"byte_end":36683,"line_start":765,"line_end":765,"column_start":32,"column_end":49,"is_primary":true,"text":[{"text":" listener_proxies: Vec<*mut defines::wl_proxy>,","highlight_start":32,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":36666,"byte_end":36675,"line_start":765,"line_end":765,"column_start":32,"column_end":41,"is_primary":true,"text":[{"text":" listener_proxies: Vec<*mut defines::wl_proxy>,","highlight_start":32,"highlight_end":41}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:765:32\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m765\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m listener_proxies: Vec<*mut defines::wl_proxy>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m765\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m listener_proxies: Vec<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m765\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m listener_proxies: Vec<*mut wl_proxy>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":37344,"byte_end":37369,"line_start":778,"line_end":778,"column_start":32,"column_end":57,"is_primary":true,"text":[{"text":" subcompositor: Option<*mut defines::wl_subcompositor>, // For tooltips","highlight_start":32,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":37344,"byte_end":37353,"line_start":778,"line_end":778,"column_start":32,"column_end":41,"is_primary":true,"text":[{"text":" subcompositor: Option<*mut defines::wl_subcompositor>, // For tooltips","highlight_start":32,"highlight_end":41}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:778:32\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m778\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m subcompositor: Option<*mut defines::wl_subcompositor>, // For tooltips\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m778\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m subcompositor: Option<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_subcompositor>, // For tooltips\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m778\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m subcompositor: Option<*mut wl_subcompositor>, // For tooltips\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":37464,"byte_end":37498,"line_start":781,"line_end":781,"column_start":31,"column_end":65,"is_primary":true,"text":[{"text":" blur_manager: Option<*mut defines::org_kde_kwin_blur_manager>,","highlight_start":31,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":37464,"byte_end":37473,"line_start":781,"line_end":781,"column_start":31,"column_end":40,"is_primary":true,"text":[{"text":" blur_manager: Option<*mut defines::org_kde_kwin_blur_manager>,","highlight_start":31,"highlight_end":40}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:781:31\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m781\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m blur_manager: Option<*mut defines::org_kde_kwin_blur_manager>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m781\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m blur_manager: Option<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0morg_kde_kwin_blur_manager>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m781\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m blur_manager: Option<*mut org_kde_kwin_blur_manager>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":37531,"byte_end":37557,"line_start":782,"line_end":782,"column_start":31,"column_end":57,"is_primary":true,"text":[{"text":" current_blur: Option<*mut defines::org_kde_kwin_blur>,","highlight_start":31,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":37531,"byte_end":37540,"line_start":782,"line_end":782,"column_start":31,"column_end":40,"is_primary":true,"text":[{"text":" current_blur: Option<*mut defines::org_kde_kwin_blur>,","highlight_start":31,"highlight_end":40}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:782:31\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m782\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m current_blur: Option<*mut defines::org_kde_kwin_blur>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m782\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m current_blur: Option<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0morg_kde_kwin_blur>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m782\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m current_blur: Option<*mut org_kde_kwin_blur>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":37835,"byte_end":37870,"line_start":787,"line_end":787,"column_start":37,"column_end":72,"is_primary":true,"text":[{"text":" decoration_manager: Option<*mut defines::zxdg_decoration_manager_v1>,","highlight_start":37,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":37835,"byte_end":37844,"line_start":787,"line_end":787,"column_start":37,"column_end":46,"is_primary":true,"text":[{"text":" decoration_manager: Option<*mut defines::zxdg_decoration_manager_v1>,","highlight_start":37,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:787:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m787\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m decoration_manager: Option<*mut defines::zxdg_decoration_manager_v1>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m787\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m decoration_manager: Option<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzxdg_decoration_manager_v1>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m787\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m decoration_manager: Option<*mut zxdg_decoration_manager_v1>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":37910,"byte_end":37946,"line_start":788,"line_end":788,"column_start":38,"column_end":74,"is_primary":true,"text":[{"text":" toplevel_decoration: Option<*mut defines::zxdg_toplevel_decoration_v1>,","highlight_start":38,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":37910,"byte_end":37919,"line_start":788,"line_end":788,"column_start":38,"column_end":47,"is_primary":true,"text":[{"text":" toplevel_decoration: Option<*mut defines::zxdg_toplevel_decoration_v1>,","highlight_start":38,"highlight_end":47}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:788:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m788\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m toplevel_decoration: Option<*mut defines::zxdg_toplevel_decoration_v1>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m788\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m toplevel_decoration: Option<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzxdg_toplevel_decoration_v1>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m788\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m toplevel_decoration: Option<*mut zxdg_toplevel_decoration_v1>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":38423,"byte_end":38462,"line_start":796,"line_end":796,"column_start":43,"column_end":82,"is_primary":true,"text":[{"text":" fractional_scale_manager: Option<*mut defines::wp_fractional_scale_manager_v1>,","highlight_start":43,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":38423,"byte_end":38432,"line_start":796,"line_end":796,"column_start":43,"column_end":52,"is_primary":true,"text":[{"text":" fractional_scale_manager: Option<*mut defines::wp_fractional_scale_manager_v1>,","highlight_start":43,"highlight_end":52}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:796:43\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m796\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fractional_scale_manager: Option<*mut defines::wp_fractional_scale_manager_v1>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m796\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m fractional_scale_manager: Option<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwp_fractional_scale_manager_v1>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m796\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m fractional_scale_manager: Option<*mut wp_fractional_scale_manager_v1>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":38493,"byte_end":38515,"line_start":797,"line_end":797,"column_start":29,"column_end":51,"is_primary":true,"text":[{"text":" viewporter: Option<*mut defines::wp_viewporter>,","highlight_start":29,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":38493,"byte_end":38502,"line_start":797,"line_end":797,"column_start":29,"column_end":38,"is_primary":true,"text":[{"text":" viewporter: Option<*mut defines::wp_viewporter>,","highlight_start":29,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:797:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m797\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m viewporter: Option<*mut defines::wp_viewporter>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m797\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m viewporter: Option<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwp_viewporter>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m797\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m viewporter: Option<*mut wp_viewporter>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":38630,"byte_end":38661,"line_start":799,"line_end":799,"column_start":35,"column_end":66,"is_primary":true,"text":[{"text":" fractional_scale: Option<*mut defines::wp_fractional_scale_v1>,","highlight_start":35,"highlight_end":66}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":38630,"byte_end":38639,"line_start":799,"line_end":799,"column_start":35,"column_end":44,"is_primary":true,"text":[{"text":" fractional_scale: Option<*mut defines::wp_fractional_scale_v1>,","highlight_start":35,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:799:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m799\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fractional_scale: Option<*mut defines::wp_fractional_scale_v1>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m799\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m fractional_scale: Option<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwp_fractional_scale_v1>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m799\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m fractional_scale: Option<*mut wp_fractional_scale_v1>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":38744,"byte_end":38764,"line_start":801,"line_end":801,"column_start":27,"column_end":47,"is_primary":true,"text":[{"text":" viewport: Option<*mut defines::wp_viewport>,","highlight_start":27,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":38744,"byte_end":38753,"line_start":801,"line_end":801,"column_start":27,"column_end":36,"is_primary":true,"text":[{"text":" viewport: Option<*mut defines::wp_viewport>,","highlight_start":27,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:801:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m801\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m viewport: Option<*mut defines::wp_viewport>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m801\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m viewport: Option<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwp_viewport>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m801\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m viewport: Option<*mut wp_viewport>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":42428,"byte_end":42446,"line_start":873,"line_end":873,"column_start":35,"column_end":53,"is_primary":true,"text":[{"text":" pub current_outputs: Vec<*mut defines::wl_output>,","highlight_start":35,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":42428,"byte_end":42437,"line_start":873,"line_end":873,"column_start":35,"column_end":44,"is_primary":true,"text":[{"text":" pub current_outputs: Vec<*mut defines::wl_output>,","highlight_start":35,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:873:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m873\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub current_outputs: Vec<*mut defines::wl_output>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m873\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub current_outputs: Vec<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_output>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m873\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub current_outputs: Vec<*mut wl_output>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":43968,"byte_end":44011,"line_start":897,"line_end":897,"column_start":19,"column_end":62,"is_primary":true,"text":[{"text":" needs_redraw: super::super::common::event::LatchedRequest,","highlight_start":19,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":43968,"byte_end":43990,"line_start":897,"line_end":897,"column_start":19,"column_end":41,"is_primary":true,"text":[{"text":" needs_redraw: super::super::common::event::LatchedRequest,","highlight_start":19,"highlight_end":41}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:897:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m897\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m needs_redraw: super::super::common::event::LatchedRequest,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m897\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m needs_redraw: \u001b[0m\u001b[0m\u001b[38;5;9msuper::super::common::\u001b[0m\u001b[0mevent::LatchedRequest,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m897\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m needs_redraw: event::LatchedRequest,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46282,"byte_end":46301,"line_start":955,"line_end":955,"column_start":19,"column_end":38,"is_primary":true,"text":[{"text":" display: *mut defines::wl_display,","highlight_start":19,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46282,"byte_end":46291,"line_start":955,"line_end":955,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" display: *mut defines::wl_display,","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:955:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m955\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m display: *mut defines::wl_display,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m955\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m display: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_display,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m955\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m display: *mut wl_display,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46328,"byte_end":46347,"line_start":956,"line_end":956,"column_start":26,"column_end":45,"is_primary":true,"text":[{"text":" parent_surface: *mut defines::wl_surface,","highlight_start":26,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46328,"byte_end":46337,"line_start":956,"line_end":956,"column_start":26,"column_end":35,"is_primary":true,"text":[{"text":" parent_surface: *mut defines::wl_surface,","highlight_start":26,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:956:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m956\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m parent_surface: *mut defines::wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m956\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m parent_surface: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m956\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m parent_surface: *mut wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46367,"byte_end":46386,"line_start":957,"line_end":957,"column_start":19,"column_end":38,"is_primary":true,"text":[{"text":" surface: *mut defines::wl_surface,","highlight_start":19,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46367,"byte_end":46376,"line_start":957,"line_end":957,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" surface: *mut defines::wl_surface,","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:957:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m957\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m surface: *mut defines::wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m957\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m surface: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m957\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m surface: *mut wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46410,"byte_end":46430,"line_start":958,"line_end":958,"column_start":23,"column_end":43,"is_primary":true,"text":[{"text":" xdg_surface: *mut defines::xdg_surface,","highlight_start":23,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46410,"byte_end":46419,"line_start":958,"line_end":958,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" xdg_surface: *mut defines::xdg_surface,","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:958:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m958\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m xdg_surface: *mut defines::xdg_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m958\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m xdg_surface: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m958\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m xdg_surface: *mut xdg_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46452,"byte_end":46470,"line_start":959,"line_end":959,"column_start":21,"column_end":39,"is_primary":true,"text":[{"text":" xdg_popup: *mut defines::xdg_popup,","highlight_start":21,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46452,"byte_end":46461,"line_start":959,"line_end":959,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" xdg_popup: *mut defines::xdg_popup,","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:959:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m959\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m xdg_popup: *mut defines::xdg_popup,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m959\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m xdg_popup: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_popup,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m959\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m xdg_popup: *mut xdg_popup,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46493,"byte_end":46516,"line_start":960,"line_end":960,"column_start":22,"column_end":45,"is_primary":true,"text":[{"text":" positioner: *mut defines::xdg_positioner,","highlight_start":22,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46493,"byte_end":46502,"line_start":960,"line_end":960,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" positioner: *mut defines::xdg_positioner,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:960:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m960\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m positioner: *mut defines::xdg_positioner,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m960\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m positioner: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_positioner,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m960\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m positioner: *mut xdg_positioner,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46539,"byte_end":46561,"line_start":961,"line_end":961,"column_start":22,"column_end":44,"is_primary":true,"text":[{"text":" compositor: *mut defines::wl_compositor,","highlight_start":22,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46539,"byte_end":46548,"line_start":961,"line_end":961,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" compositor: *mut defines::wl_compositor,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:961:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m961\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m compositor: *mut defines::wl_compositor,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m961\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m compositor: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_compositor,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m961\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m compositor: *mut wl_compositor,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46578,"byte_end":46594,"line_start":962,"line_end":962,"column_start":16,"column_end":32,"is_primary":true,"text":[{"text":" seat: *mut defines::wl_seat,","highlight_start":16,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46578,"byte_end":46587,"line_start":962,"line_end":962,"column_start":16,"column_end":25,"is_primary":true,"text":[{"text":" seat: *mut defines::wl_seat,","highlight_start":16,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:962:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m962\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat: *mut defines::wl_seat,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m962\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m seat: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_seat,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m962\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m seat: *mut wl_seat,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46618,"byte_end":46641,"line_start":963,"line_end":963,"column_start":23,"column_end":46,"is_primary":true,"text":[{"text":" event_queue: *mut defines::wl_event_queue,","highlight_start":23,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":46618,"byte_end":46627,"line_start":963,"line_end":963,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" event_queue: *mut defines::wl_event_queue,","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:963:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m963\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_queue: *mut defines::wl_event_queue,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m963\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m event_queue: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_event_queue,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m963\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event_queue: *mut wl_event_queue,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":48008,"byte_end":48023,"line_start":993,"line_end":993,"column_start":15,"column_end":30,"is_primary":true,"text":[{"text":" shm: *mut defines::wl_shm,","highlight_start":15,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":48008,"byte_end":48017,"line_start":993,"line_end":993,"column_start":15,"column_end":24,"is_primary":true,"text":[{"text":" shm: *mut defines::wl_shm,","highlight_start":15,"highlight_end":24}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:993:15\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m993\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m shm: *mut defines::wl_shm,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m993\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m shm: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_shm,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m993\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m shm: *mut wl_shm,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":48672,"byte_end":48694,"line_start":1004,"line_end":1004,"column_start":29,"column_end":51,"is_primary":true,"text":[{"text":" viewporter: Option<*mut defines::wp_viewporter>,","highlight_start":29,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":48672,"byte_end":48681,"line_start":1004,"line_end":1004,"column_start":29,"column_end":38,"is_primary":true,"text":[{"text":" viewporter: Option<*mut defines::wp_viewporter>,","highlight_start":29,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1004:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1004\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m viewporter: Option<*mut defines::wp_viewporter>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1004\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m viewporter: Option<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwp_viewporter>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1004\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m viewporter: Option<*mut wp_viewporter>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":48874,"byte_end":48894,"line_start":1008,"line_end":1008,"column_start":27,"column_end":47,"is_primary":true,"text":[{"text":" viewport: Option<*mut defines::wp_viewport>,","highlight_start":27,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":48874,"byte_end":48883,"line_start":1008,"line_end":1008,"column_start":27,"column_end":36,"is_primary":true,"text":[{"text":" viewport: Option<*mut defines::wp_viewport>,","highlight_start":27,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1008:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1008\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m viewport: Option<*mut defines::wp_viewport>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1008\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m viewport: Option<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwp_viewport>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1008\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m viewport: Option<*mut wp_viewport>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":50295,"byte_end":50362,"line_start":1039,"line_end":1039,"column_start":32,"column_end":99,"is_primary":true,"text":[{"text":"const WHEEL_TICK_PIXELS: f32 = crate::desktop::shell2::common::event::WHEEL_SCROLL_PIXELS_PER_LINE;","highlight_start":32,"highlight_end":99}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":50295,"byte_end":50327,"line_start":1039,"line_end":1039,"column_start":32,"column_end":64,"is_primary":true,"text":[{"text":"const WHEEL_TICK_PIXELS: f32 = crate::desktop::shell2::common::event::WHEEL_SCROLL_PIXELS_PER_LINE;","highlight_start":32,"highlight_end":64}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1039:32\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1039\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mconst WHEEL_TICK_PIXELS: f32 = crate::desktop::shell2::common::event::WHEEL_SCROLL_PIXELS_PER_LINE;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1039\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mconst WHEEL_TICK_PIXELS: f32 = \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::WHEEL_SCROLL_PIXELS_PER_LINE;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1039\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mconst WHEEL_TICK_PIXELS: f32 = event::WHEEL_SCROLL_PIXELS_PER_LINE;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":65777,"byte_end":65798,"line_start":1352,"line_end":1352,"column_start":35,"column_end":56,"is_primary":true,"text":[{"text":" let mut interface: *const defines::wl_interface = std::ptr::null();","highlight_start":35,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":65777,"byte_end":65786,"line_start":1352,"line_end":1352,"column_start":35,"column_end":44,"is_primary":true,"text":[{"text":" let mut interface: *const defines::wl_interface = std::ptr::null();","highlight_start":35,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1352:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1352\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut interface: *const defines::wl_interface = std::ptr::null();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1352\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut interface: *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_interface = std::ptr::null();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1352\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut interface: *const wl_interface = std::ptr::null();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":68570,"byte_end":68586,"line_start":1409,"line_end":1409,"column_start":44,"column_end":60,"is_primary":true,"text":[{"text":" let me = self as *mut Self as *mut std::ffi::c_void;","highlight_start":44,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":68570,"byte_end":68580,"line_start":1409,"line_end":1409,"column_start":44,"column_end":54,"is_primary":true,"text":[{"text":" let me = self as *mut Self as *mut std::ffi::c_void;","highlight_start":44,"highlight_end":54}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1409:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let me = self as *mut Self as *mut std::ffi::c_void;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let me = self as *mut Self as *mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let me = self as *mut Self as *mut c_void;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":72186,"byte_end":72208,"line_start":1489,"line_end":1489,"column_start":22,"column_end":44,"is_primary":true,"text":[{"text":" compositor: *mut defines::wl_compositor,","highlight_start":22,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":72186,"byte_end":72195,"line_start":1489,"line_end":1489,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" compositor: *mut defines::wl_compositor,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1489:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1489\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m compositor: *mut defines::wl_compositor,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1489\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m compositor: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_compositor,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1489\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m compositor: *mut wl_compositor,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":72228,"byte_end":72247,"line_start":1490,"line_end":1490,"column_start":19,"column_end":38,"is_primary":true,"text":[{"text":" surface: *mut defines::wl_surface,","highlight_start":19,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":72228,"byte_end":72237,"line_start":1490,"line_end":1490,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" surface: *mut defines::wl_surface,","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1490:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1490\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m surface: *mut defines::wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1490\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m surface: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1490\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m surface: *mut wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":74974,"byte_end":75008,"line_start":1569,"line_end":1569,"column_start":50,"column_end":84,"is_primary":false,"text":[{"text":" fn prepare_callback_invocation(&mut self) -> event::InvokeSingleCallbackBorrows {","highlight_start":50,"highlight_end":84}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":74981,"byte_end":75008,"line_start":1569,"line_end":1569,"column_start":57,"column_end":84,"is_primary":true,"text":[{"text":" fn prepare_callback_invocation(&mut self) -> event::InvokeSingleCallbackBorrows {","highlight_start":57,"highlight_end":84}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":75008,"byte_end":75008,"line_start":1569,"line_end":1569,"column_start":84,"column_end":84,"is_primary":true,"text":[{"text":" fn prepare_callback_invocation(&mut self) -> event::InvokeSingleCallbackBorrows {","highlight_start":84,"highlight_end":84}],"label":null,"suggested_replacement":"<'_>","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1569:57\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1569\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn prepare_callback_invocation(&mut self) -> event::InvokeSingleCallbackBorrows {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1569\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn prepare_callback_invocation(&mut self) -> event::InvokeSingleCallbackBorrows\u001b[0m\u001b[0m\u001b[38;5;10m<'_>\u001b[0m\u001b[0m {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":79545,"byte_end":79591,"line_start":1687,"line_end":1687,"column_start":48,"column_end":94,"is_primary":true,"text":[{"text":" fn queue_window_create(&mut self, options: azul_layout::window_state::WindowCreateOptions) {","highlight_start":48,"highlight_end":94}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":79545,"byte_end":79572,"line_start":1687,"line_end":1687,"column_start":48,"column_end":75,"is_primary":true,"text":[{"text":" fn queue_window_create(&mut self, options: azul_layout::window_state::WindowCreateOptions) {","highlight_start":48,"highlight_end":75}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1687:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1687\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn queue_window_create(&mut self, options: azul_layout::window_state::WindowCreateOptions) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1687\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m fn queue_window_create(&mut self, options: \u001b[0m\u001b[0m\u001b[38;5;9mazul_layout::window_state::\u001b[0m\u001b[0mWindowCreateOptions) {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1687\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m fn queue_window_create(&mut self, options: WindowCreateOptions) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":79791,"byte_end":79823,"line_start":1696,"line_end":1696,"column_start":19,"column_end":51,"is_primary":true,"text":[{"text":" position: azul_core::geom::LogicalPosition,","highlight_start":19,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":79791,"byte_end":79808,"line_start":1696,"line_end":1696,"column_start":19,"column_end":36,"is_primary":true,"text":[{"text":" position: azul_core::geom::LogicalPosition,","highlight_start":19,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1696:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1696\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m position: azul_core::geom::LogicalPosition,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1696\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m position: \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1696\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m position: LogicalPosition,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":80716,"byte_end":80748,"line_start":1725,"line_end":1725,"column_start":19,"column_end":51,"is_primary":true,"text":[{"text":" position: azul_core::geom::LogicalPosition,","highlight_start":19,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":80716,"byte_end":80733,"line_start":1725,"line_end":1725,"column_start":19,"column_end":36,"is_primary":true,"text":[{"text":" position: azul_core::geom::LogicalPosition,","highlight_start":19,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1725:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1725\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m position: azul_core::geom::LogicalPosition,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1725\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m position: \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1725\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m position: LogicalPosition,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":81814,"byte_end":81831,"line_start":1748,"line_end":1748,"column_start":47,"column_end":64,"is_primary":true,"text":[{"text":" let data = (self as *mut Self).cast::();","highlight_start":47,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":81814,"byte_end":81825,"line_start":1748,"line_end":1748,"column_start":47,"column_end":58,"is_primary":true,"text":[{"text":" let data = (self as *mut Self).cast::();","highlight_start":47,"highlight_end":58}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1748:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1748\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let data = (self as *mut Self).cast::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1748\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let data = (self as *mut Self).cast::<\u001b[0m\u001b[0m\u001b[38;5;9mcore::ffi::\u001b[0m\u001b[0mc_void>();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1748\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let data = (self as *mut Self).cast::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":83473,"byte_end":83505,"line_start":1789,"line_end":1789,"column_start":19,"column_end":51,"is_primary":true,"text":[{"text":" position: azul_core::geom::LogicalPosition,","highlight_start":19,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":83473,"byte_end":83490,"line_start":1789,"line_end":1789,"column_start":19,"column_end":36,"is_primary":true,"text":[{"text":" position: azul_core::geom::LogicalPosition,","highlight_start":19,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1789:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1789\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m position: azul_core::geom::LogicalPosition,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1789\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m position: \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1789\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m position: LogicalPosition,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":83968,"byte_end":83999,"line_start":1798,"line_end":1798,"column_start":25,"column_end":56,"is_primary":true,"text":[{"text":" let menu_size = self::menu::calculate_menu_size(menu, &self.common.system_style);","highlight_start":25,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":83968,"byte_end":83974,"line_start":1798,"line_end":1798,"column_start":25,"column_end":31,"is_primary":true,"text":[{"text":" let menu_size = self::menu::calculate_menu_size(menu, &self.common.system_style);","highlight_start":25,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1798:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1798\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let menu_size = self::menu::calculate_menu_size(menu, &self.common.system_style);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1798\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let menu_size = \u001b[0m\u001b[0m\u001b[38;5;9mself::\u001b[0m\u001b[0mmenu::calculate_menu_size(menu, &self.common.system_style);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1798\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let menu_size = menu::calculate_menu_size(menu, &self.common.system_style);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":84062,"byte_end":84099,"line_start":1800,"line_end":1800,"column_start":28,"column_end":65,"is_primary":true,"text":[{"text":" let menu_options = self::menu::create_menu_popup_options(","highlight_start":28,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":84062,"byte_end":84068,"line_start":1800,"line_end":1800,"column_start":28,"column_end":34,"is_primary":true,"text":[{"text":" let menu_options = self::menu::create_menu_popup_options(","highlight_start":28,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1800:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1800\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let menu_options = self::menu::create_menu_popup_options(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1800\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let menu_options = \u001b[0m\u001b[0m\u001b[38;5;9mself::\u001b[0m\u001b[0mmenu::create_menu_popup_options(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1800\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let menu_options = menu::create_menu_popup_options(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":85976,"byte_end":86002,"line_start":1842,"line_end":1842,"column_start":37,"column_end":63,"is_primary":true,"text":[{"text":" .downcast_ref::()","highlight_start":37,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":85976,"byte_end":85982,"line_start":1842,"line_end":1842,"column_start":37,"column_end":43,"is_primary":true,"text":[{"text":" .downcast_ref::()","highlight_start":37,"highlight_end":43}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1842:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1842\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m .downcast_ref::()\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1842\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m .downcast_ref::<\u001b[0m\u001b[0m\u001b[38;5;9mself::\u001b[0m\u001b[0mmenu::MenuLayoutData>()\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1842\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m .downcast_ref::()\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":86928,"byte_end":86966,"line_start":1861,"line_end":1861,"column_start":17,"column_end":55,"is_primary":true,"text":[{"text":" azul_core::geom::LogicalPosition::zero(),","highlight_start":17,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":86928,"byte_end":86945,"line_start":1861,"line_end":1861,"column_start":17,"column_end":34,"is_primary":true,"text":[{"text":" azul_core::geom::LogicalPosition::zero(),","highlight_start":17,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1861:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1861\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m azul_core::geom::LogicalPosition::zero(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1861\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition::zero(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1861\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogicalPosition::zero(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":96805,"byte_end":96875,"line_start":2078,"line_end":2078,"column_start":24,"column_end":94,"is_primary":true,"text":[{"text":" common.regen = crate::desktop::shell2::common::event::RegenerationState::idle_initial();","highlight_start":24,"highlight_end":94}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":96805,"byte_end":96837,"line_start":2078,"line_end":2078,"column_start":24,"column_end":56,"is_primary":true,"text":[{"text":" common.regen = crate::desktop::shell2::common::event::RegenerationState::idle_initial();","highlight_start":24,"highlight_end":56}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2078:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2078\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m common.regen = crate::desktop::shell2::common::event::RegenerationState::idle_initial();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2078\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m common.regen = \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::RegenerationState::idle_initial();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2078\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m common.regen = event::RegenerationState::idle_initial();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":101801,"byte_end":101853,"line_start":2182,"line_end":2182,"column_start":27,"column_end":79,"is_primary":true,"text":[{"text":" needs_redraw: super::super::common::event::LatchedRequest::default(),","highlight_start":27,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":101801,"byte_end":101823,"line_start":2182,"line_end":2182,"column_start":27,"column_end":49,"is_primary":true,"text":[{"text":" needs_redraw: super::super::common::event::LatchedRequest::default(),","highlight_start":27,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2182:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2182\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m needs_redraw: super::super::common::event::LatchedRequest::default(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2182\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m needs_redraw: \u001b[0m\u001b[0m\u001b[38;5;9msuper::super::common::\u001b[0m\u001b[0mevent::LatchedRequest::default(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2182\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m needs_redraw: event::LatchedRequest::default(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":104903,"byte_end":104932,"line_start":2245,"line_end":2245,"column_start":35,"column_end":64,"is_primary":true,"text":[{"text":" static REGISTRY_LISTENER: defines::wl_registry_listener = defines::wl_registry_listener {","highlight_start":35,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":104903,"byte_end":104912,"line_start":2245,"line_end":2245,"column_start":35,"column_end":44,"is_primary":true,"text":[{"text":" static REGISTRY_LISTENER: defines::wl_registry_listener = defines::wl_registry_listener {","highlight_start":35,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2245:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m static REGISTRY_LISTENER: defines::wl_registry_listener = defines::wl_registry_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m static REGISTRY_LISTENER: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_registry_listener = defines::wl_registry_listener {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m static REGISTRY_LISTENER: wl_registry_listener = defines::wl_registry_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":104935,"byte_end":104964,"line_start":2245,"line_end":2245,"column_start":67,"column_end":96,"is_primary":true,"text":[{"text":" static REGISTRY_LISTENER: defines::wl_registry_listener = defines::wl_registry_listener {","highlight_start":67,"highlight_end":96}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":104935,"byte_end":104944,"line_start":2245,"line_end":2245,"column_start":67,"column_end":76,"is_primary":true,"text":[{"text":" static REGISTRY_LISTENER: defines::wl_registry_listener = defines::wl_registry_listener {","highlight_start":67,"highlight_end":76}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2245:67\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m static REGISTRY_LISTENER: defines::wl_registry_listener = defines::wl_registry_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m static REGISTRY_LISTENER: defines::wl_registry_listener = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_registry_listener {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m static REGISTRY_LISTENER: defines::wl_registry_listener = wl_registry_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":107507,"byte_end":107535,"line_start":2295,"line_end":2295,"column_start":34,"column_end":62,"is_primary":true,"text":[{"text":" static SURFACE_LISTENER: defines::wl_surface_listener = defines::wl_surface_listener {","highlight_start":34,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":107507,"byte_end":107516,"line_start":2295,"line_end":2295,"column_start":34,"column_end":43,"is_primary":true,"text":[{"text":" static SURFACE_LISTENER: defines::wl_surface_listener = defines::wl_surface_listener {","highlight_start":34,"highlight_end":43}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2295:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2295\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m static SURFACE_LISTENER: defines::wl_surface_listener = defines::wl_surface_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2295\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m static SURFACE_LISTENER: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_surface_listener = defines::wl_surface_listener {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2295\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m static SURFACE_LISTENER: wl_surface_listener = defines::wl_surface_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":107538,"byte_end":107566,"line_start":2295,"line_end":2295,"column_start":65,"column_end":93,"is_primary":true,"text":[{"text":" static SURFACE_LISTENER: defines::wl_surface_listener = defines::wl_surface_listener {","highlight_start":65,"highlight_end":93}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":107538,"byte_end":107547,"line_start":2295,"line_end":2295,"column_start":65,"column_end":74,"is_primary":true,"text":[{"text":" static SURFACE_LISTENER: defines::wl_surface_listener = defines::wl_surface_listener {","highlight_start":65,"highlight_end":74}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2295:65\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2295\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m static SURFACE_LISTENER: defines::wl_surface_listener = defines::wl_surface_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2295\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m static SURFACE_LISTENER: defines::wl_surface_listener = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_surface_listener {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2295\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m static SURFACE_LISTENER: defines::wl_surface_listener = wl_surface_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":108730,"byte_end":108747,"line_start":2319,"line_end":2319,"column_start":26,"column_end":43,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":26,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":108730,"byte_end":108739,"line_start":2319,"line_end":2319,"column_start":26,"column_end":35,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":26,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2319:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2319\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2319\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2319\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":108801,"byte_end":108822,"line_start":2321,"line_end":2321,"column_start":28,"column_end":49,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":28,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":108801,"byte_end":108810,"line_start":2321,"line_end":2321,"column_start":28,"column_end":37,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":28,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2321:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2321\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *const defines::wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2321\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2321\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *const wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":108882,"byte_end":108901,"line_start":2323,"line_end":2323,"column_start":26,"column_end":45,"is_primary":true,"text":[{"text":" *mut defines::wl_surface,","highlight_start":26,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":108882,"byte_end":108891,"line_start":2323,"line_end":2323,"column_start":26,"column_end":35,"is_primary":true,"text":[{"text":" *mut defines::wl_surface,","highlight_start":26,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2323:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2323\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2323\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2323\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":108929,"byte_end":108946,"line_start":2324,"line_end":2324,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":108929,"byte_end":108938,"line_start":2324,"line_end":2324,"column_start":27,"column_end":36,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":27,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2324:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2324\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut defines::wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2324\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m ) -> *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2324\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ) -> *mut wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":109131,"byte_end":109148,"line_start":2328,"line_end":2328,"column_start":33,"column_end":50,"is_primary":true,"text":[{"text":" mgr as *mut defines::wl_proxy,","highlight_start":33,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":109131,"byte_end":109140,"line_start":2328,"line_end":2328,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" mgr as *mut defines::wl_proxy,","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2328:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2328\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m mgr as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2328\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m mgr as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2328\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m mgr as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":109253,"byte_end":109298,"line_start":2330,"line_end":2330,"column_start":21,"column_end":66,"is_primary":true,"text":[{"text":" defines::get_wp_fractional_scale_v1_interface(),","highlight_start":21,"highlight_end":66}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":109253,"byte_end":109262,"line_start":2330,"line_end":2330,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" defines::get_wp_fractional_scale_v1_interface(),","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2330:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::get_wp_fractional_scale_v1_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mget_wp_fractional_scale_v1_interface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m get_wp_fractional_scale_v1_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":109488,"byte_end":109528,"line_start":2335,"line_end":2335,"column_start":55,"column_end":95,"is_primary":true,"text":[{"text":" static FRACTIONAL_SCALE_LISTENER: defines::wp_fractional_scale_v1_listener =","highlight_start":55,"highlight_end":95}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":109488,"byte_end":109497,"line_start":2335,"line_end":2335,"column_start":55,"column_end":64,"is_primary":true,"text":[{"text":" static FRACTIONAL_SCALE_LISTENER: defines::wp_fractional_scale_v1_listener =","highlight_start":55,"highlight_end":64}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2335:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2335\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m static FRACTIONAL_SCALE_LISTENER: defines::wp_fractional_scale_v1_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2335\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m static FRACTIONAL_SCALE_LISTENER: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwp_fractional_scale_v1_listener =\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2335\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m static FRACTIONAL_SCALE_LISTENER: wp_fractional_scale_v1_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":109555,"byte_end":109595,"line_start":2336,"line_end":2336,"column_start":25,"column_end":65,"is_primary":true,"text":[{"text":" defines::wp_fractional_scale_v1_listener {","highlight_start":25,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":109555,"byte_end":109564,"line_start":2336,"line_end":2336,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" defines::wp_fractional_scale_v1_listener {","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2336:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2336\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::wp_fractional_scale_v1_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2336\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwp_fractional_scale_v1_listener {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2336\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m wp_fractional_scale_v1_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":110076,"byte_end":110107,"line_start":2345,"line_end":2345,"column_start":63,"column_end":94,"is_primary":true,"text":[{"text":" window.fractional_scale = Some(fs as *mut defines::wp_fractional_scale_v1);","highlight_start":63,"highlight_end":94}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":110076,"byte_end":110085,"line_start":2345,"line_end":2345,"column_start":63,"column_end":72,"is_primary":true,"text":[{"text":" window.fractional_scale = Some(fs as *mut defines::wp_fractional_scale_v1);","highlight_start":63,"highlight_end":72}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2345:63\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2345\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window.fractional_scale = Some(fs as *mut defines::wp_fractional_scale_v1);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2345\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m window.fractional_scale = Some(fs as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwp_fractional_scale_v1);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2345\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m window.fractional_scale = Some(fs as *mut wp_fractional_scale_v1);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":111009,"byte_end":111038,"line_start":2367,"line_end":2367,"column_start":38,"column_end":67,"is_primary":true,"text":[{"text":" static XDG_SURFACE_LISTENER: defines::xdg_surface_listener =","highlight_start":38,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":111009,"byte_end":111018,"line_start":2367,"line_end":2367,"column_start":38,"column_end":47,"is_primary":true,"text":[{"text":" static XDG_SURFACE_LISTENER: defines::xdg_surface_listener =","highlight_start":38,"highlight_end":47}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2367:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2367\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m static XDG_SURFACE_LISTENER: defines::xdg_surface_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2367\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m static XDG_SURFACE_LISTENER: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_surface_listener =\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2367\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m static XDG_SURFACE_LISTENER: xdg_surface_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":111053,"byte_end":111082,"line_start":2368,"line_end":2368,"column_start":13,"column_end":42,"is_primary":true,"text":[{"text":" defines::xdg_surface_listener {","highlight_start":13,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":111053,"byte_end":111062,"line_start":2368,"line_end":2368,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::xdg_surface_listener {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2368:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2368\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::xdg_surface_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2368\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_surface_listener {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2368\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m xdg_surface_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":111675,"byte_end":111705,"line_start":2384,"line_end":2384,"column_start":39,"column_end":69,"is_primary":true,"text":[{"text":" static XDG_TOPLEVEL_LISTENER: defines::xdg_toplevel_listener =","highlight_start":39,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":111675,"byte_end":111684,"line_start":2384,"line_end":2384,"column_start":39,"column_end":48,"is_primary":true,"text":[{"text":" static XDG_TOPLEVEL_LISTENER: defines::xdg_toplevel_listener =","highlight_start":39,"highlight_end":48}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2384:39\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2384\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m static XDG_TOPLEVEL_LISTENER: defines::xdg_toplevel_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2384\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m static XDG_TOPLEVEL_LISTENER: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_toplevel_listener =\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2384\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m static XDG_TOPLEVEL_LISTENER: xdg_toplevel_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":111720,"byte_end":111750,"line_start":2385,"line_end":2385,"column_start":13,"column_end":43,"is_primary":true,"text":[{"text":" defines::xdg_toplevel_listener {","highlight_start":13,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":111720,"byte_end":111729,"line_start":2385,"line_end":2385,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::xdg_toplevel_listener {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2385:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2385\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::xdg_toplevel_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2385\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_toplevel_listener {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2385\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m xdg_toplevel_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":113660,"byte_end":113710,"line_start":2419,"line_end":2419,"column_start":34,"column_end":84,"is_primary":true,"text":[{"text":" let deco_iface = defines::get_zxdg_toplevel_decoration_v1_interface();","highlight_start":34,"highlight_end":84}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":113660,"byte_end":113669,"line_start":2419,"line_end":2419,"column_start":34,"column_end":43,"is_primary":true,"text":[{"text":" let deco_iface = defines::get_zxdg_toplevel_decoration_v1_interface();","highlight_start":34,"highlight_end":43}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2419:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2419\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let deco_iface = defines::get_zxdg_toplevel_decoration_v1_interface();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2419\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let deco_iface = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mget_zxdg_toplevel_decoration_v1_interface();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2419\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let deco_iface = get_zxdg_toplevel_decoration_v1_interface();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114125,"byte_end":114142,"line_start":2425,"line_end":2425,"column_start":26,"column_end":43,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":26,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114125,"byte_end":114134,"line_start":2425,"line_end":2425,"column_start":26,"column_end":35,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":26,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2425:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2425\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2425\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2425\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114196,"byte_end":114217,"line_start":2427,"line_end":2427,"column_start":28,"column_end":49,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":28,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114196,"byte_end":114205,"line_start":2427,"line_end":2427,"column_start":28,"column_end":37,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":28,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2427:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2427\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *const defines::wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2427\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2427\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *const wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114244,"byte_end":114260,"line_start":2428,"line_end":2428,"column_start":26,"column_end":42,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":26,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114244,"byte_end":114254,"line_start":2428,"line_end":2428,"column_start":26,"column_end":36,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":26,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2428:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2428\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut std::ffi::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2428\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2428\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114287,"byte_end":114308,"line_start":2429,"line_end":2429,"column_start":26,"column_end":47,"is_primary":true,"text":[{"text":" *mut defines::xdg_toplevel,","highlight_start":26,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114287,"byte_end":114296,"line_start":2429,"line_end":2429,"column_start":26,"column_end":35,"is_primary":true,"text":[{"text":" *mut defines::xdg_toplevel,","highlight_start":26,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2429:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2429\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::xdg_toplevel,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2429\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_toplevel,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2429\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut xdg_toplevel,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114336,"byte_end":114353,"line_start":2430,"line_end":2430,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114336,"byte_end":114345,"line_start":2430,"line_end":2430,"column_start":27,"column_end":36,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":27,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2430:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2430\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut defines::wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2430\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m ) -> *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2430\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ) -> *mut wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114620,"byte_end":114637,"line_start":2435,"line_end":2435,"column_start":33,"column_end":50,"is_primary":true,"text":[{"text":" mgr as *mut defines::wl_proxy,","highlight_start":33,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114620,"byte_end":114629,"line_start":2435,"line_end":2435,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" mgr as *mut defines::wl_proxy,","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2435:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2435\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m mgr as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2435\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m mgr as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2435\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m mgr as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114875,"byte_end":114920,"line_start":2442,"line_end":2442,"column_start":43,"column_end":88,"is_primary":true,"text":[{"text":" static DECO_LISTENER: defines::zxdg_toplevel_decoration_v1_listener =","highlight_start":43,"highlight_end":88}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114875,"byte_end":114884,"line_start":2442,"line_end":2442,"column_start":43,"column_end":52,"is_primary":true,"text":[{"text":" static DECO_LISTENER: defines::zxdg_toplevel_decoration_v1_listener =","highlight_start":43,"highlight_end":52}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2442:43\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2442\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m static DECO_LISTENER: defines::zxdg_toplevel_decoration_v1_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2442\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m static DECO_LISTENER: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzxdg_toplevel_decoration_v1_listener =\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2442\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m static DECO_LISTENER: zxdg_toplevel_decoration_v1_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114947,"byte_end":114992,"line_start":2443,"line_end":2443,"column_start":25,"column_end":70,"is_primary":true,"text":[{"text":" defines::zxdg_toplevel_decoration_v1_listener {","highlight_start":25,"highlight_end":70}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":114947,"byte_end":114956,"line_start":2443,"line_end":2443,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" defines::zxdg_toplevel_decoration_v1_listener {","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2443:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2443\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::zxdg_toplevel_decoration_v1_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2443\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzxdg_toplevel_decoration_v1_listener {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2443\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m zxdg_toplevel_decoration_v1_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":116855,"byte_end":116872,"line_start":2472,"line_end":2472,"column_start":64,"column_end":81,"is_primary":true,"text":[{"text":" type SetModeFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, u32);","highlight_start":64,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":116855,"byte_end":116864,"line_start":2472,"line_end":2472,"column_start":64,"column_end":73,"is_primary":true,"text":[{"text":" type SetModeFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, u32);","highlight_start":64,"highlight_end":73}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2472:64\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type SetModeFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type SetModeFn = unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32, u32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type SetModeFn = unsafe extern \"C\" fn(*mut wl_proxy, u32, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":117151,"byte_end":117187,"line_start":2477,"line_end":2477,"column_start":43,"column_end":79,"is_primary":true,"text":[{"text":" Some(deco as *mut defines::zxdg_toplevel_decoration_v1);","highlight_start":43,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":117151,"byte_end":117160,"line_start":2477,"line_end":2477,"column_start":43,"column_end":52,"is_primary":true,"text":[{"text":" Some(deco as *mut defines::zxdg_toplevel_decoration_v1);","highlight_start":43,"highlight_end":52}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2477:43\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Some(deco as *mut defines::zxdg_toplevel_decoration_v1);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m Some(deco as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzxdg_toplevel_decoration_v1);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m Some(deco as *mut zxdg_toplevel_decoration_v1);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":129390,"byte_end":129422,"line_start":2728,"line_end":2728,"column_start":55,"column_end":87,"is_primary":true,"text":[{"text":" let raw_handle = RawWindowHandle::Wayland(azul_core::window::WaylandHandle {","highlight_start":55,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":129390,"byte_end":129409,"line_start":2728,"line_end":2728,"column_start":55,"column_end":74,"is_primary":true,"text":[{"text":" let raw_handle = RawWindowHandle::Wayland(azul_core::window::WaylandHandle {","highlight_start":55,"highlight_end":74}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2728:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2728\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let raw_handle = RawWindowHandle::Wayland(azul_core::window::WaylandHandle {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2728\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let raw_handle = RawWindowHandle::Wayland(\u001b[0m\u001b[0m\u001b[38;5;9mazul_core::window::\u001b[0m\u001b[0mWaylandHandle {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2728\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let raw_handle = RawWindowHandle::Wayland(WaylandHandle {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":130600,"byte_end":130641,"line_start":2754,"line_end":2754,"column_start":52,"column_end":93,"is_primary":true,"text":[{"text":" layout_window.renderer_type = Some(azul_core::window::RendererType::Hardware);","highlight_start":52,"highlight_end":93}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":130600,"byte_end":130619,"line_start":2754,"line_end":2754,"column_start":52,"column_end":71,"is_primary":true,"text":[{"text":" layout_window.renderer_type = Some(azul_core::window::RendererType::Hardware);","highlight_start":52,"highlight_end":71}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2754:52\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2754\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m layout_window.renderer_type = Some(azul_core::window::RendererType::Hardware);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2754\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m layout_window.renderer_type = Some(\u001b[0m\u001b[0m\u001b[38;5;9mazul_core::window::\u001b[0m\u001b[0mRendererType::Hardware);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2754\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m layout_window.renderer_type = Some(RendererType::Hardware);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":132342,"byte_end":132390,"line_start":2790,"line_end":2790,"column_start":25,"column_end":73,"is_primary":true,"text":[{"text":" if r != azul_core::events::ProcessEventResult::DoNothing {","highlight_start":25,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":132342,"byte_end":132361,"line_start":2790,"line_end":2790,"column_start":25,"column_end":44,"is_primary":true,"text":[{"text":" if r != azul_core::events::ProcessEventResult::DoNothing {","highlight_start":25,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2790:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2790\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if r != azul_core::events::ProcessEventResult::DoNothing {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2790\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if r != \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::events::\u001b[0m\u001b[0mProcessEventResult::DoNothing {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2790\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if r != ProcessEventResult::DoNothing {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":133649,"byte_end":133690,"line_start":2817,"line_end":2817,"column_start":56,"column_end":97,"is_primary":true,"text":[{"text":" layout_window.renderer_type = Some(azul_core::window::RendererType::Hardware);","highlight_start":56,"highlight_end":97}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":133649,"byte_end":133668,"line_start":2817,"line_end":2817,"column_start":56,"column_end":75,"is_primary":true,"text":[{"text":" layout_window.renderer_type = Some(azul_core::window::RendererType::Hardware);","highlight_start":56,"highlight_end":75}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2817:56\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2817\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m layout_window.renderer_type = Some(azul_core::window::RendererType::Hardware);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2817\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m layout_window.renderer_type = Some(\u001b[0m\u001b[0m\u001b[38;5;9mazul_core::window::\u001b[0m\u001b[0mRendererType::Hardware);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2817\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m layout_window.renderer_type = Some(RendererType::Hardware);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":137961,"byte_end":138011,"line_start":2908,"line_end":2908,"column_start":13,"column_end":63,"is_primary":true,"text":[{"text":" crate::desktop::wr_translate2::Compositor::default(),","highlight_start":13,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":137961,"byte_end":137977,"line_start":2908,"line_end":2908,"column_start":13,"column_end":29,"is_primary":true,"text":[{"text":" crate::desktop::wr_translate2::Compositor::default(),","highlight_start":13,"highlight_end":29}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2908:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2908\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m crate::desktop::wr_translate2::Compositor::default(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2908\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::\u001b[0m\u001b[0mwr_translate2::Compositor::default(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2908\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m wr_translate2::Compositor::default(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":154145,"byte_end":154157,"line_start":3227,"line_end":3227,"column_start":81,"column_end":93,"is_primary":true,"text":[{"text":" libc::read(fd, &mut expirations as *mut u64 as *mut libc::c_void, 8);","highlight_start":81,"highlight_end":93}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":154145,"byte_end":154151,"line_start":3227,"line_end":3227,"column_start":81,"column_end":87,"is_primary":true,"text":[{"text":" libc::read(fd, &mut expirations as *mut u64 as *mut libc::c_void, 8);","highlight_start":81,"highlight_end":87}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:3227:81\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3227\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m libc::read(fd, &mut expirations as *mut u64 as *mut libc::c_void, 8);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3227\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m libc::read(fd, &mut expirations as *mut u64 as *mut \u001b[0m\u001b[0m\u001b[38;5;9mlibc::\u001b[0m\u001b[0mc_void, 8);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3227\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m libc::read(fd, &mut expirations as *mut u64 as *mut c_void, 8);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":154884,"byte_end":154896,"line_start":3243,"line_end":3243,"column_start":62,"column_end":74,"is_primary":true,"text":[{"text":" &mut expirations as *mut u64 as *mut libc::c_void,","highlight_start":62,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":154884,"byte_end":154890,"line_start":3243,"line_end":3243,"column_start":62,"column_end":68,"is_primary":true,"text":[{"text":" &mut expirations as *mut u64 as *mut libc::c_void,","highlight_start":62,"highlight_end":68}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:3243:62\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3243\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut expirations as *mut u64 as *mut libc::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3243\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m &mut expirations as *mut u64 as *mut \u001b[0m\u001b[0m\u001b[38;5;9mlibc::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3243\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m &mut expirations as *mut u64 as *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":156400,"byte_end":156412,"line_start":3274,"line_end":3274,"column_start":73,"column_end":85,"is_primary":true,"text":[{"text":" libc::read(fd, &mut expirations as *mut u64 as *mut libc::c_void, 8);","highlight_start":73,"highlight_end":85}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":156400,"byte_end":156406,"line_start":3274,"line_end":3274,"column_start":73,"column_end":79,"is_primary":true,"text":[{"text":" libc::read(fd, &mut expirations as *mut u64 as *mut libc::c_void, 8);","highlight_start":73,"highlight_end":79}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:3274:73\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m libc::read(fd, &mut expirations as *mut u64 as *mut libc::c_void, 8);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m libc::read(fd, &mut expirations as *mut u64 as *mut \u001b[0m\u001b[0m\u001b[38;5;9mlibc::\u001b[0m\u001b[0mc_void, 8);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m libc::read(fd, &mut expirations as *mut u64 as *mut c_void, 8);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":160596,"byte_end":160628,"line_start":3377,"line_end":3377,"column_start":55,"column_end":87,"is_primary":true,"text":[{"text":" let raw_handle = RawWindowHandle::Wayland(azul_core::window::WaylandHandle {","highlight_start":55,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":160596,"byte_end":160615,"line_start":3377,"line_end":3377,"column_start":55,"column_end":74,"is_primary":true,"text":[{"text":" let raw_handle = RawWindowHandle::Wayland(azul_core::window::WaylandHandle {","highlight_start":55,"highlight_end":74}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:3377:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3377\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let raw_handle = RawWindowHandle::Wayland(azul_core::window::WaylandHandle {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3377\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let raw_handle = RawWindowHandle::Wayland(\u001b[0m\u001b[0m\u001b[38;5;9mazul_core::window::\u001b[0m\u001b[0mWaylandHandle {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3377\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let raw_handle = RawWindowHandle::Wayland(WaylandHandle {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":162703,"byte_end":162770,"line_start":3420,"line_end":3420,"column_start":25,"column_end":92,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::IncrementalRelayout::Restyle,","highlight_start":25,"highlight_end":92}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":162703,"byte_end":162735,"line_start":3420,"line_end":3420,"column_start":25,"column_end":57,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::IncrementalRelayout::Restyle,","highlight_start":25,"highlight_end":57}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:3420:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3420\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m crate::desktop::shell2::common::event::IncrementalRelayout::Restyle,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3420\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::IncrementalRelayout::Restyle,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3420\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event::IncrementalRelayout::Restyle,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":165228,"byte_end":165273,"line_start":3474,"line_end":3474,"column_start":21,"column_end":66,"is_primary":true,"text":[{"text":" azul_core::window::OptionVirtualKeyCode::None;","highlight_start":21,"highlight_end":66}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":165228,"byte_end":165247,"line_start":3474,"line_end":3474,"column_start":21,"column_end":40,"is_primary":true,"text":[{"text":" azul_core::window::OptionVirtualKeyCode::None;","highlight_start":21,"highlight_end":40}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:3474:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3474\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m azul_core::window::OptionVirtualKeyCode::None;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3474\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::window::\u001b[0m\u001b[0mOptionVirtualKeyCode::None;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3474\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m OptionVirtualKeyCode::None;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":177737,"byte_end":177804,"line_start":3727,"line_end":3727,"column_start":21,"column_end":88,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::IncrementalRelayout::Restyle,","highlight_start":21,"highlight_end":88}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":177737,"byte_end":177769,"line_start":3727,"line_end":3727,"column_start":21,"column_end":53,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::IncrementalRelayout::Restyle,","highlight_start":21,"highlight_end":53}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:3727:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3727\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m crate::desktop::shell2::common::event::IncrementalRelayout::Restyle,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3727\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::IncrementalRelayout::Restyle,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3727\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event::IncrementalRelayout::Restyle,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":190468,"byte_end":190490,"line_start":3989,"line_end":3989,"column_start":59,"column_end":81,"is_primary":true,"text":[{"text":" pub(super) fn tablet_composite_id(&self, tablet: *mut defines::zwp_tablet_v2) -> u64 {","highlight_start":59,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":190468,"byte_end":190477,"line_start":3989,"line_end":3989,"column_start":59,"column_end":68,"is_primary":true,"text":[{"text":" pub(super) fn tablet_composite_id(&self, tablet: *mut defines::zwp_tablet_v2) -> u64 {","highlight_start":59,"highlight_end":68}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:3989:59\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3989\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub(super) fn tablet_composite_id(&self, tablet: *mut defines::zwp_tablet_v2) -> u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3989\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub(super) fn tablet_composite_id(&self, tablet: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_tablet_v2) -> u64 {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3989\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub(super) fn tablet_composite_id(&self, tablet: *mut zwp_tablet_v2) -> u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":197301,"byte_end":197328,"line_start":4134,"line_end":4134,"column_start":57,"column_end":84,"is_primary":true,"text":[{"text":" pub(super) fn seat_of_tablet_tool(&self, tool: *mut defines::zwp_tablet_tool_v2) -> u64 {","highlight_start":57,"highlight_end":84}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":197301,"byte_end":197310,"line_start":4134,"line_end":4134,"column_start":57,"column_end":66,"is_primary":true,"text":[{"text":" pub(super) fn seat_of_tablet_tool(&self, tool: *mut defines::zwp_tablet_tool_v2) -> u64 {","highlight_start":57,"highlight_end":66}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4134:57\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4134\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub(super) fn seat_of_tablet_tool(&self, tool: *mut defines::zwp_tablet_tool_v2) -> u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4134\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub(super) fn seat_of_tablet_tool(&self, tool: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_tablet_tool_v2) -> u64 {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4134\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub(super) fn seat_of_tablet_tool(&self, tool: *mut zwp_tablet_tool_v2) -> u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":197696,"byte_end":197723,"line_start":4145,"line_end":4145,"column_start":20,"column_end":47,"is_primary":true,"text":[{"text":" tool: *mut defines::zwp_tablet_tool_v2,","highlight_start":20,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":197696,"byte_end":197705,"line_start":4145,"line_end":4145,"column_start":20,"column_end":29,"is_primary":true,"text":[{"text":" tool: *mut defines::zwp_tablet_tool_v2,","highlight_start":20,"highlight_end":29}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4145:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4145\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m tool: *mut defines::zwp_tablet_tool_v2,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4145\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m tool: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_tablet_tool_v2,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4145\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m tool: *mut zwp_tablet_tool_v2,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":198157,"byte_end":198184,"line_start":4156,"line_end":4156,"column_start":70,"column_end":97,"is_primary":true,"text":[{"text":" pub(super) fn handle_tablet_frame_for_tool(&mut self, tool: *mut defines::zwp_tablet_tool_v2) {","highlight_start":70,"highlight_end":97}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":198157,"byte_end":198166,"line_start":4156,"line_end":4156,"column_start":70,"column_end":79,"is_primary":true,"text":[{"text":" pub(super) fn handle_tablet_frame_for_tool(&mut self, tool: *mut defines::zwp_tablet_tool_v2) {","highlight_start":70,"highlight_end":79}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4156:70\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4156\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub(super) fn handle_tablet_frame_for_tool(&mut self, tool: *mut defines::zwp_tablet_tool_v2) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4156\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub(super) fn handle_tablet_frame_for_tool(&mut self, tool: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_tablet_tool_v2) {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4156\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub(super) fn handle_tablet_frame_for_tool(&mut self, tool: *mut zwp_tablet_tool_v2) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":209674,"byte_end":209723,"line_start":4421,"line_end":4421,"column_start":31,"column_end":80,"is_primary":true,"text":[{"text":" .get_current(&azul_layout::managers::hover::InputPointId::Mouse)","highlight_start":31,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":209674,"byte_end":209704,"line_start":4421,"line_end":4421,"column_start":31,"column_end":61,"is_primary":true,"text":[{"text":" .get_current(&azul_layout::managers::hover::InputPointId::Mouse)","highlight_start":31,"highlight_end":61}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4421:31\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4421\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m .get_current(&azul_layout::managers::hover::InputPointId::Mouse)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4421\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m .get_current(&\u001b[0m\u001b[0m\u001b[38;5;9mazul_layout::managers::hover::\u001b[0m\u001b[0mInputPointId::Mouse)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4421\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m .get_current(&InputPointId::Mouse)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":219100,"byte_end":219117,"line_start":4638,"line_end":4638,"column_start":22,"column_end":39,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":219100,"byte_end":219109,"line_start":4638,"line_end":4638,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4638:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4638\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4638\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4638\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":219163,"byte_end":219184,"line_start":4640,"line_end":4640,"column_start":24,"column_end":45,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":24,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":219163,"byte_end":219172,"line_start":4640,"line_end":4640,"column_start":24,"column_end":33,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":24,"highlight_end":33}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4640:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4640\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *const defines::wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4640\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4640\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *const wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":219207,"byte_end":219223,"line_start":4641,"line_end":4641,"column_start":22,"column_end":38,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":22,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":219207,"byte_end":219217,"line_start":4641,"line_end":4641,"column_start":22,"column_end":32,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":22,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4641:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4641\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut std::ffi::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4641\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4641\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":219247,"byte_end":219264,"line_start":4642,"line_end":4642,"column_start":23,"column_end":40,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":23,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":219247,"byte_end":219256,"line_start":4642,"line_end":4642,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4642:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4642\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut defines::wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4642\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m ) -> *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4642\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ) -> *mut wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":219467,"byte_end":219484,"line_start":4646,"line_end":4646,"column_start":56,"column_end":73,"is_primary":true,"text":[{"text":" self.primary_selection_manager as *mut defines::wl_proxy,","highlight_start":56,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":219467,"byte_end":219476,"line_start":4646,"line_end":4646,"column_start":56,"column_end":65,"is_primary":true,"text":[{"text":" self.primary_selection_manager as *mut defines::wl_proxy,","highlight_start":56,"highlight_end":65}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4646:56\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4646\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self.primary_selection_manager as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4646\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m self.primary_selection_manager as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4646\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m self.primary_selection_manager as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":219521,"byte_end":219571,"line_start":4648,"line_end":4648,"column_start":17,"column_end":67,"is_primary":true,"text":[{"text":" defines::get_primary_selection_source_v1_interface(),","highlight_start":17,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":219521,"byte_end":219530,"line_start":4648,"line_end":4648,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::get_primary_selection_source_v1_interface(),","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4648:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4648\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::get_primary_selection_source_v1_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4648\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mget_primary_selection_source_v1_interface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4648\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m get_primary_selection_source_v1_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":219763,"byte_end":219780,"line_start":4655,"line_end":4655,"column_start":22,"column_end":39,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":219763,"byte_end":219772,"line_start":4655,"line_end":4655,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4655:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4655\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4655\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4655\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":220028,"byte_end":220050,"line_start":4660,"line_end":4660,"column_start":29,"column_end":51,"is_primary":true,"text":[{"text":" let Ok(c) = std::ffi::CString::new(mime) else {","highlight_start":29,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":220028,"byte_end":220038,"line_start":4660,"line_end":4660,"column_start":29,"column_end":39,"is_primary":true,"text":[{"text":" let Ok(c) = std::ffi::CString::new(mime) else {","highlight_start":29,"highlight_end":39}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4660:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4660\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let Ok(c) = std::ffi::CString::new(mime) else {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4660\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let Ok(c) = \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mCString::new(mime) else {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4660\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let Ok(c) = CString::new(mime) else {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":220464,"byte_end":220481,"line_start":4671,"line_end":4671,"column_start":22,"column_end":39,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":220464,"byte_end":220473,"line_start":4671,"line_end":4671,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4671:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4671\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4671\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4671\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":220525,"byte_end":220542,"line_start":4673,"line_end":4673,"column_start":22,"column_end":39,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":220525,"byte_end":220534,"line_start":4673,"line_end":4673,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4673:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4673\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4673\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4673\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":220674,"byte_end":220691,"line_start":4676,"line_end":4676,"column_start":42,"column_end":59,"is_primary":true,"text":[{"text":" set_selection(device as *mut defines::wl_proxy, 0, src, serial);","highlight_start":42,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":220674,"byte_end":220683,"line_start":4676,"line_end":4676,"column_start":42,"column_end":51,"is_primary":true,"text":[{"text":" set_selection(device as *mut defines::wl_proxy, 0, src, serial);","highlight_start":42,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4676:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4676\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m set_selection(device as *mut defines::wl_proxy, 0, src, serial);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4676\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m set_selection(device as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, 0, src, serial);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4676\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m set_selection(device as *mut wl_proxy, 0, src, serial);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":220803,"byte_end":220843,"line_start":4678,"line_end":4678,"column_start":35,"column_end":75,"is_primary":true,"text":[{"text":" let src = src as *mut defines::zwp_primary_selection_source_v1;","highlight_start":35,"highlight_end":75}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":220803,"byte_end":220812,"line_start":4678,"line_end":4678,"column_start":35,"column_end":44,"is_primary":true,"text":[{"text":" let src = src as *mut defines::zwp_primary_selection_source_v1;","highlight_start":35,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4678:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4678\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let src = src as *mut defines::zwp_primary_selection_source_v1;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4678\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let src = src as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_primary_selection_source_v1;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4678\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let src = src as *mut zwp_primary_selection_source_v1;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":221378,"byte_end":221395,"line_start":4690,"line_end":4690,"column_start":60,"column_end":77,"is_primary":true,"text":[{"text":" let destroy: unsafe extern \"C\" fn(*mut defines::wl_proxy, u32) =","highlight_start":60,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":221378,"byte_end":221387,"line_start":4690,"line_end":4690,"column_start":60,"column_end":69,"is_primary":true,"text":[{"text":" let destroy: unsafe extern \"C\" fn(*mut defines::wl_proxy, u32) =","highlight_start":60,"highlight_end":69}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4690:60\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4690\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let destroy: unsafe extern \"C\" fn(*mut defines::wl_proxy, u32) =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4690\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let destroy: unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32) =\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4690\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let destroy: unsafe extern \"C\" fn(*mut wl_proxy, u32) =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":221520,"byte_end":221537,"line_start":4692,"line_end":4692,"column_start":41,"column_end":58,"is_primary":true,"text":[{"text":" destroy(src as *mut defines::wl_proxy, 1);","highlight_start":41,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":221520,"byte_end":221529,"line_start":4692,"line_end":4692,"column_start":41,"column_end":50,"is_primary":true,"text":[{"text":" destroy(src as *mut defines::wl_proxy, 1);","highlight_start":41,"highlight_end":50}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4692:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4692\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m destroy(src as *mut defines::wl_proxy, 1);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4692\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m destroy(src as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, 1);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4692\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m destroy(src as *mut wl_proxy, 1);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":221607,"byte_end":221624,"line_start":4693,"line_end":4693,"column_start":65,"column_end":82,"is_primary":true,"text":[{"text":" (self.wayland.wl_proxy_destroy)(src as *mut defines::wl_proxy);","highlight_start":65,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":221607,"byte_end":221616,"line_start":4693,"line_end":4693,"column_start":65,"column_end":74,"is_primary":true,"text":[{"text":" (self.wayland.wl_proxy_destroy)(src as *mut defines::wl_proxy);","highlight_start":65,"highlight_end":74}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4693:65\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4693\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.wayland.wl_proxy_destroy)(src as *mut defines::wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4693\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (self.wayland.wl_proxy_destroy)(src as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4693\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (self.wayland.wl_proxy_destroy)(src as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":222653,"byte_end":222670,"line_start":4718,"line_end":4718,"column_start":31,"column_end":48,"is_primary":true,"text":[{"text":" offer as *mut defines::wl_proxy,","highlight_start":31,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":222653,"byte_end":222662,"line_start":4718,"line_end":4718,"column_start":31,"column_end":40,"is_primary":true,"text":[{"text":" offer as *mut defines::wl_proxy,","highlight_start":31,"highlight_end":40}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4718:31\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4718\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m offer as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4718\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m offer as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4718\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m offer as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":223532,"byte_end":223549,"line_start":4739,"line_end":4739,"column_start":60,"column_end":77,"is_primary":true,"text":[{"text":" let destroy: unsafe extern \"C\" fn(*mut defines::wl_proxy, u32) =","highlight_start":60,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":223532,"byte_end":223541,"line_start":4739,"line_end":4739,"column_start":60,"column_end":69,"is_primary":true,"text":[{"text":" let destroy: unsafe extern \"C\" fn(*mut defines::wl_proxy, u32) =","highlight_start":60,"highlight_end":69}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4739:60\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4739\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let destroy: unsafe extern \"C\" fn(*mut defines::wl_proxy, u32) =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4739\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let destroy: unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32) =\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4739\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let destroy: unsafe extern \"C\" fn(*mut wl_proxy, u32) =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":223674,"byte_end":223691,"line_start":4741,"line_end":4741,"column_start":41,"column_end":58,"is_primary":true,"text":[{"text":" destroy(dev as *mut defines::wl_proxy, 1);","highlight_start":41,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":223674,"byte_end":223683,"line_start":4741,"line_end":4741,"column_start":41,"column_end":50,"is_primary":true,"text":[{"text":" destroy(dev as *mut defines::wl_proxy, 1);","highlight_start":41,"highlight_end":50}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4741:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4741\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m destroy(dev as *mut defines::wl_proxy, 1);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4741\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m destroy(dev as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, 1);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4741\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m destroy(dev as *mut wl_proxy, 1);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":223761,"byte_end":223778,"line_start":4742,"line_end":4742,"column_start":65,"column_end":82,"is_primary":true,"text":[{"text":" (self.wayland.wl_proxy_destroy)(dev as *mut defines::wl_proxy);","highlight_start":65,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":223761,"byte_end":223770,"line_start":4742,"line_end":4742,"column_start":65,"column_end":74,"is_primary":true,"text":[{"text":" (self.wayland.wl_proxy_destroy)(dev as *mut defines::wl_proxy);","highlight_start":65,"highlight_end":74}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4742:65\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4742\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.wayland.wl_proxy_destroy)(dev as *mut defines::wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4742\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (self.wayland.wl_proxy_destroy)(dev as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4742\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (self.wayland.wl_proxy_destroy)(dev as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":253772,"byte_end":253813,"line_start":5446,"line_end":5446,"column_start":46,"column_end":87,"is_primary":true,"text":[{"text":" *ws.keyboard_seat_mut(seat_id) = azul_core::window::KeyboardState::default();","highlight_start":46,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":253772,"byte_end":253791,"line_start":5446,"line_end":5446,"column_start":46,"column_end":65,"is_primary":true,"text":[{"text":" *ws.keyboard_seat_mut(seat_id) = azul_core::window::KeyboardState::default();","highlight_start":46,"highlight_end":65}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5446:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5446\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *ws.keyboard_seat_mut(seat_id) = azul_core::window::KeyboardState::default();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5446\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *ws.keyboard_seat_mut(seat_id) = \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::window::\u001b[0m\u001b[0mKeyboardState::default();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5446\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *ws.keyboard_seat_mut(seat_id) = KeyboardState::default();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":264677,"byte_end":264694,"line_start":5658,"line_end":5658,"column_start":56,"column_end":73,"is_primary":true,"text":[{"text":" let destroy: unsafe extern \"C\" fn(*mut defines::wl_proxy, u32) =","highlight_start":56,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":264677,"byte_end":264686,"line_start":5658,"line_end":5658,"column_start":56,"column_end":65,"is_primary":true,"text":[{"text":" let destroy: unsafe extern \"C\" fn(*mut defines::wl_proxy, u32) =","highlight_start":56,"highlight_end":65}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5658:56\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5658\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let destroy: unsafe extern \"C\" fn(*mut defines::wl_proxy, u32) =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5658\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let destroy: unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32) =\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5658\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let destroy: unsafe extern \"C\" fn(*mut wl_proxy, u32) =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":264829,"byte_end":264846,"line_start":5660,"line_end":5660,"column_start":55,"column_end":72,"is_primary":true,"text":[{"text":" destroy(self.clipboard_source as *mut defines::wl_proxy, 1);","highlight_start":55,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":264829,"byte_end":264838,"line_start":5660,"line_end":5660,"column_start":55,"column_end":64,"is_primary":true,"text":[{"text":" destroy(self.clipboard_source as *mut defines::wl_proxy, 1);","highlight_start":55,"highlight_end":64}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5660:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5660\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m destroy(self.clipboard_source as *mut defines::wl_proxy, 1);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5660\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m destroy(self.clipboard_source as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, 1);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5660\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m destroy(self.clipboard_source as *mut wl_proxy, 1);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":264930,"byte_end":264947,"line_start":5661,"line_end":5661,"column_start":79,"column_end":96,"is_primary":true,"text":[{"text":" (self.wayland.wl_proxy_destroy)(self.clipboard_source as *mut defines::wl_proxy);","highlight_start":79,"highlight_end":96}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":264930,"byte_end":264939,"line_start":5661,"line_end":5661,"column_start":79,"column_end":88,"is_primary":true,"text":[{"text":" (self.wayland.wl_proxy_destroy)(self.clipboard_source as *mut defines::wl_proxy);","highlight_start":79,"highlight_end":88}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5661:79\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5661\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.wayland.wl_proxy_destroy)(self.clipboard_source as *mut defines::wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5661\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (self.wayland.wl_proxy_destroy)(self.clipboard_source as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5661\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (self.wayland.wl_proxy_destroy)(self.clipboard_source as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":265179,"byte_end":265196,"line_start":5667,"line_end":5667,"column_start":22,"column_end":39,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":265179,"byte_end":265188,"line_start":5667,"line_end":5667,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5667:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5667\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5667\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5667\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":265242,"byte_end":265263,"line_start":5669,"line_end":5669,"column_start":24,"column_end":45,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":24,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":265242,"byte_end":265251,"line_start":5669,"line_end":5669,"column_start":24,"column_end":33,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":24,"highlight_end":33}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5669:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5669\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *const defines::wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5669\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5669\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *const wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":265286,"byte_end":265302,"line_start":5670,"line_end":5670,"column_start":22,"column_end":38,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":22,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":265286,"byte_end":265296,"line_start":5670,"line_end":5670,"column_start":22,"column_end":32,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":22,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5670:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5670\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut std::ffi::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5670\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5670\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":265326,"byte_end":265343,"line_start":5671,"line_end":5671,"column_start":23,"column_end":40,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":23,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":265326,"byte_end":265335,"line_start":5671,"line_end":5671,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5671:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5671\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut defines::wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5671\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m ) -> *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5671\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ) -> *mut wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":265540,"byte_end":265557,"line_start":5675,"line_end":5675,"column_start":50,"column_end":67,"is_primary":true,"text":[{"text":" self.data_device_manager as *mut defines::wl_proxy,","highlight_start":50,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":265540,"byte_end":265549,"line_start":5675,"line_end":5675,"column_start":50,"column_end":59,"is_primary":true,"text":[{"text":" self.data_device_manager as *mut defines::wl_proxy,","highlight_start":50,"highlight_end":59}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5675:50\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5675\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self.data_device_manager as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5675\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m self.data_device_manager as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5675\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m self.data_device_manager as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":265594,"byte_end":265631,"line_start":5677,"line_end":5677,"column_start":17,"column_end":54,"is_primary":true,"text":[{"text":" defines::get_wl_data_source_interface(),","highlight_start":17,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":265594,"byte_end":265603,"line_start":5677,"line_end":5677,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::get_wl_data_source_interface(),","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5677:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5677\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::get_wl_data_source_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5677\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mget_wl_data_source_interface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5677\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m get_wl_data_source_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":266196,"byte_end":266213,"line_start":5690,"line_end":5690,"column_start":22,"column_end":39,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":266196,"byte_end":266205,"line_start":5690,"line_end":5690,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5690:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5690\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5690\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5690\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":266898,"byte_end":266915,"line_start":5702,"line_end":5702,"column_start":56,"column_end":73,"is_primary":true,"text":[{"text":" let destroy: unsafe extern \"C\" fn(*mut defines::wl_proxy, u32) =","highlight_start":56,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":266898,"byte_end":266907,"line_start":5702,"line_end":5702,"column_start":56,"column_end":65,"is_primary":true,"text":[{"text":" let destroy: unsafe extern \"C\" fn(*mut defines::wl_proxy, u32) =","highlight_start":56,"highlight_end":65}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5702:56\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5702\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let destroy: unsafe extern \"C\" fn(*mut defines::wl_proxy, u32) =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5702\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let destroy: unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32) =\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5702\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let destroy: unsafe extern \"C\" fn(*mut wl_proxy, u32) =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":267333,"byte_end":267355,"line_start":5711,"line_end":5711,"column_start":29,"column_end":51,"is_primary":true,"text":[{"text":" let Ok(c) = std::ffi::CString::new(mime.as_str()) else {","highlight_start":29,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":267333,"byte_end":267343,"line_start":5711,"line_end":5711,"column_start":29,"column_end":39,"is_primary":true,"text":[{"text":" let Ok(c) = std::ffi::CString::new(mime.as_str()) else {","highlight_start":29,"highlight_end":39}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5711:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5711\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let Ok(c) = std::ffi::CString::new(mime.as_str()) else {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5711\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let Ok(c) = \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mCString::new(mime.as_str()) else {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5711\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let Ok(c) = CString::new(mime.as_str()) else {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":267839,"byte_end":267856,"line_start":5725,"line_end":5725,"column_start":22,"column_end":39,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":267839,"byte_end":267848,"line_start":5725,"line_end":5725,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5725:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5725\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5725\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5725\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":267900,"byte_end":267917,"line_start":5727,"line_end":5727,"column_start":22,"column_end":39,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":267900,"byte_end":267909,"line_start":5727,"line_end":5727,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5727:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5727\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5727\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5727\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":268076,"byte_end":268093,"line_start":5731,"line_end":5731,"column_start":42,"column_end":59,"is_primary":true,"text":[{"text":" self.data_device as *mut defines::wl_proxy,","highlight_start":42,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":268076,"byte_end":268085,"line_start":5731,"line_end":5731,"column_start":42,"column_end":51,"is_primary":true,"text":[{"text":" self.data_device as *mut defines::wl_proxy,","highlight_start":42,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5731:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5731\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self.data_device as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5731\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m self.data_device as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5731\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m self.data_device as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":268487,"byte_end":268510,"line_start":5743,"line_end":5743,"column_start":49,"column_end":72,"is_primary":true,"text":[{"text":" self.clipboard_source = src as *mut defines::wl_data_source;","highlight_start":49,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":268487,"byte_end":268496,"line_start":5743,"line_end":5743,"column_start":49,"column_end":58,"is_primary":true,"text":[{"text":" self.clipboard_source = src as *mut defines::wl_data_source;","highlight_start":49,"highlight_end":58}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5743:49\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5743\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self.clipboard_source = src as *mut defines::wl_data_source;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5743\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m self.clipboard_source = src as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_data_source;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5743\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m self.clipboard_source = src as *mut wl_data_source;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":272414,"byte_end":272431,"line_start":5834,"line_end":5834,"column_start":56,"column_end":73,"is_primary":true,"text":[{"text":" let destroy: unsafe extern \"C\" fn(*mut defines::wl_proxy, u32) =","highlight_start":56,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":272414,"byte_end":272423,"line_start":5834,"line_end":5834,"column_start":56,"column_end":65,"is_primary":true,"text":[{"text":" let destroy: unsafe extern \"C\" fn(*mut defines::wl_proxy, u32) =","highlight_start":56,"highlight_end":65}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5834:56\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5834\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let destroy: unsafe extern \"C\" fn(*mut defines::wl_proxy, u32) =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5834\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let destroy: unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32) =\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5834\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let destroy: unsafe extern \"C\" fn(*mut wl_proxy, u32) =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":272574,"byte_end":272591,"line_start":5836,"line_end":5836,"column_start":63,"column_end":80,"is_primary":true,"text":[{"text":" destroy(self.primary_selection_source as *mut defines::wl_proxy, 1);","highlight_start":63,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":272574,"byte_end":272583,"line_start":5836,"line_end":5836,"column_start":63,"column_end":72,"is_primary":true,"text":[{"text":" destroy(self.primary_selection_source as *mut defines::wl_proxy, 1);","highlight_start":63,"highlight_end":72}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5836:63\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5836\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m destroy(self.primary_selection_source as *mut defines::wl_proxy, 1);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5836\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m destroy(self.primary_selection_source as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, 1);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5836\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m destroy(self.primary_selection_source as *mut wl_proxy, 1);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":272704,"byte_end":272721,"line_start":5838,"line_end":5838,"column_start":59,"column_end":76,"is_primary":true,"text":[{"text":" self.primary_selection_source as *mut defines::wl_proxy,","highlight_start":59,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":272704,"byte_end":272713,"line_start":5838,"line_end":5838,"column_start":59,"column_end":68,"is_primary":true,"text":[{"text":" self.primary_selection_source as *mut defines::wl_proxy,","highlight_start":59,"highlight_end":68}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5838:59\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5838\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self.primary_selection_source as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5838\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m self.primary_selection_source as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5838\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m self.primary_selection_source as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":272963,"byte_end":272980,"line_start":5845,"line_end":5845,"column_start":22,"column_end":39,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":272963,"byte_end":272972,"line_start":5845,"line_end":5845,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5845:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5845\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5845\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5845\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":273026,"byte_end":273047,"line_start":5847,"line_end":5847,"column_start":24,"column_end":45,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":24,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":273026,"byte_end":273035,"line_start":5847,"line_end":5847,"column_start":24,"column_end":33,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":24,"highlight_end":33}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5847:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5847\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *const defines::wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5847\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5847\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *const wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":273070,"byte_end":273086,"line_start":5848,"line_end":5848,"column_start":22,"column_end":38,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":22,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":273070,"byte_end":273080,"line_start":5848,"line_end":5848,"column_start":22,"column_end":32,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":22,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5848:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5848\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut std::ffi::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5848\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5848\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":273110,"byte_end":273127,"line_start":5849,"line_end":5849,"column_start":23,"column_end":40,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":23,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":273110,"byte_end":273119,"line_start":5849,"line_end":5849,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5849:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5849\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut defines::wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5849\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m ) -> *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5849\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ) -> *mut wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":273330,"byte_end":273347,"line_start":5853,"line_end":5853,"column_start":56,"column_end":73,"is_primary":true,"text":[{"text":" self.primary_selection_manager as *mut defines::wl_proxy,","highlight_start":56,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":273330,"byte_end":273339,"line_start":5853,"line_end":5853,"column_start":56,"column_end":65,"is_primary":true,"text":[{"text":" self.primary_selection_manager as *mut defines::wl_proxy,","highlight_start":56,"highlight_end":65}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5853:56\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5853\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self.primary_selection_manager as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5853\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m self.primary_selection_manager as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5853\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m self.primary_selection_manager as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":273384,"byte_end":273434,"line_start":5855,"line_end":5855,"column_start":17,"column_end":67,"is_primary":true,"text":[{"text":" defines::get_primary_selection_source_v1_interface(),","highlight_start":17,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":273384,"byte_end":273393,"line_start":5855,"line_end":5855,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::get_primary_selection_source_v1_interface(),","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5855:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5855\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::get_primary_selection_source_v1_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5855\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mget_primary_selection_source_v1_interface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5855\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m get_primary_selection_source_v1_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":273681,"byte_end":273698,"line_start":5864,"line_end":5864,"column_start":22,"column_end":39,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":273681,"byte_end":273690,"line_start":5864,"line_end":5864,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5864:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5864\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5864\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5864\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":273946,"byte_end":273968,"line_start":5869,"line_end":5869,"column_start":29,"column_end":51,"is_primary":true,"text":[{"text":" let Ok(c) = std::ffi::CString::new(mime) else {","highlight_start":29,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":273946,"byte_end":273956,"line_start":5869,"line_end":5869,"column_start":29,"column_end":39,"is_primary":true,"text":[{"text":" let Ok(c) = std::ffi::CString::new(mime) else {","highlight_start":29,"highlight_end":39}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5869:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5869\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let Ok(c) = std::ffi::CString::new(mime) else {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5869\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let Ok(c) = \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mCString::new(mime) else {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5869\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let Ok(c) = CString::new(mime) else {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":274510,"byte_end":274527,"line_start":5884,"line_end":5884,"column_start":22,"column_end":39,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":274510,"byte_end":274519,"line_start":5884,"line_end":5884,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5884:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5884\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5884\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5884\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":274571,"byte_end":274588,"line_start":5886,"line_end":5886,"column_start":22,"column_end":39,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":274571,"byte_end":274580,"line_start":5886,"line_end":5886,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5886:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5886\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5886\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5886\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":274760,"byte_end":274777,"line_start":5890,"line_end":5890,"column_start":55,"column_end":72,"is_primary":true,"text":[{"text":" self.primary_selection_device as *mut defines::wl_proxy,","highlight_start":55,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":274760,"byte_end":274769,"line_start":5890,"line_end":5890,"column_start":55,"column_end":64,"is_primary":true,"text":[{"text":" self.primary_selection_device as *mut defines::wl_proxy,","highlight_start":55,"highlight_end":64}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5890:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5890\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self.primary_selection_device as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5890\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m self.primary_selection_device as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5890\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m self.primary_selection_device as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":274990,"byte_end":275030,"line_start":5897,"line_end":5897,"column_start":57,"column_end":97,"is_primary":true,"text":[{"text":" self.primary_selection_source = src as *mut defines::zwp_primary_selection_source_v1;","highlight_start":57,"highlight_end":97}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":274990,"byte_end":274999,"line_start":5897,"line_end":5897,"column_start":57,"column_end":66,"is_primary":true,"text":[{"text":" self.primary_selection_source = src as *mut defines::zwp_primary_selection_source_v1;","highlight_start":57,"highlight_end":66}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5897:57\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5897\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self.primary_selection_source = src as *mut defines::zwp_primary_selection_source_v1;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5897\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m self.primary_selection_source = src as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_primary_selection_source_v1;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5897\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m self.primary_selection_source = src as *mut zwp_primary_selection_source_v1;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":275451,"byte_end":275468,"line_start":5910,"line_end":5910,"column_start":54,"column_end":71,"is_primary":true,"text":[{"text":" self.primary_selection_offer as *mut defines::wl_proxy,","highlight_start":54,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":275451,"byte_end":275460,"line_start":5910,"line_end":5910,"column_start":54,"column_end":63,"is_primary":true,"text":[{"text":" self.primary_selection_offer as *mut defines::wl_proxy,","highlight_start":54,"highlight_end":63}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5910:54\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5910\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self.primary_selection_offer as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5910\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m self.primary_selection_offer as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5910\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m self.primary_selection_offer as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":279891,"byte_end":279910,"line_start":6008,"line_end":6008,"column_start":60,"column_end":79,"is_primary":true,"text":[{"text":" pub(super) fn seat_id_for_pointer(&self, pointer: *mut defines::wl_pointer) -> u64 {","highlight_start":60,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":279891,"byte_end":279900,"line_start":6008,"line_end":6008,"column_start":60,"column_end":69,"is_primary":true,"text":[{"text":" pub(super) fn seat_id_for_pointer(&self, pointer: *mut defines::wl_pointer) -> u64 {","highlight_start":60,"highlight_end":69}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6008:60\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6008\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub(super) fn seat_id_for_pointer(&self, pointer: *mut defines::wl_pointer) -> u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6008\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub(super) fn seat_id_for_pointer(&self, pointer: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_pointer) -> u64 {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6008\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub(super) fn seat_id_for_pointer(&self, pointer: *mut wl_pointer) -> u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":295698,"byte_end":295716,"line_start":6349,"line_end":6349,"column_start":15,"column_end":33,"is_primary":true,"text":[{"text":" node: event::HitTestNode,","highlight_start":15,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":295698,"byte_end":295705,"line_start":6349,"line_end":6349,"column_start":15,"column_end":22,"is_primary":true,"text":[{"text":" node: event::HitTestNode,","highlight_start":15,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6349:15\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m node: event::HitTestNode,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m node: \u001b[0m\u001b[0m\u001b[38;5;9mevent::\u001b[0m\u001b[0mHitTestNode,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m node: HitTestNode,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":298345,"byte_end":298376,"line_start":6420,"line_end":6420,"column_start":25,"column_end":56,"is_primary":true,"text":[{"text":" let menu_size = self::menu::calculate_menu_size(menu, &self.common.system_style);","highlight_start":25,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":298345,"byte_end":298351,"line_start":6420,"line_end":6420,"column_start":25,"column_end":31,"is_primary":true,"text":[{"text":" let menu_size = self::menu::calculate_menu_size(menu, &self.common.system_style);","highlight_start":25,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6420:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6420\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let menu_size = self::menu::calculate_menu_size(menu, &self.common.system_style);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6420\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let menu_size = \u001b[0m\u001b[0m\u001b[38;5;9mself::\u001b[0m\u001b[0mmenu::calculate_menu_size(menu, &self.common.system_style);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6420\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let menu_size = menu::calculate_menu_size(menu, &self.common.system_style);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":298439,"byte_end":298476,"line_start":6422,"line_end":6422,"column_start":28,"column_end":65,"is_primary":true,"text":[{"text":" let menu_options = self::menu::create_menu_popup_options(","highlight_start":28,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":298439,"byte_end":298445,"line_start":6422,"line_end":6422,"column_start":28,"column_end":34,"is_primary":true,"text":[{"text":" let menu_options = self::menu::create_menu_popup_options(","highlight_start":28,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6422:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6422\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let menu_options = self::menu::create_menu_popup_options(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6422\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let menu_options = \u001b[0m\u001b[0m\u001b[38;5;9mself::\u001b[0m\u001b[0mmenu::create_menu_popup_options(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6422\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let menu_options = menu::create_menu_popup_options(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":300713,"byte_end":300778,"line_start":6481,"line_end":6481,"column_start":21,"column_end":86,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::debug_server::LogCategory::Layout,","highlight_start":21,"highlight_end":86}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":300713,"byte_end":300759,"line_start":6481,"line_end":6481,"column_start":21,"column_end":67,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::debug_server::LogCategory::Layout,","highlight_start":21,"highlight_end":67}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6481:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6481\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m crate::desktop::shell2::common::debug_server::LogCategory::Layout,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6481\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::debug_server::\u001b[0m\u001b[0mLogCategory::Layout,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6481\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::Layout,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":308476,"byte_end":308498,"line_start":6675,"line_end":6675,"column_start":33,"column_end":55,"is_primary":true,"text":[{"text":" let c_title = match std::ffi::CString::new(current.title.as_str()) {","highlight_start":33,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":308476,"byte_end":308486,"line_start":6675,"line_end":6675,"column_start":33,"column_end":43,"is_primary":true,"text":[{"text":" let c_title = match std::ffi::CString::new(current.title.as_str()) {","highlight_start":33,"highlight_end":43}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6675:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6675\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let c_title = match std::ffi::CString::new(current.title.as_str()) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6675\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let c_title = match \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mCString::new(current.title.as_str()) {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6675\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let c_title = match CString::new(current.title.as_str()) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":317836,"byte_end":317853,"line_start":6892,"line_end":6892,"column_start":60,"column_end":77,"is_primary":true,"text":[{"text":" type ReleaseFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":60,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":317836,"byte_end":317845,"line_start":6892,"line_end":6892,"column_start":60,"column_end":69,"is_primary":true,"text":[{"text":" type ReleaseFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":60,"highlight_end":69}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6892:60\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6892\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type ReleaseFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6892\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type ReleaseFn = unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6892\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type ReleaseFn = unsafe extern \"C\" fn(*mut wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":317997,"byte_end":318014,"line_start":6894,"line_end":6894,"column_start":41,"column_end":58,"is_primary":true,"text":[{"text":" release_fn(blur as *mut defines::wl_proxy, 2);","highlight_start":41,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":317997,"byte_end":318006,"line_start":6894,"line_end":6894,"column_start":41,"column_end":50,"is_primary":true,"text":[{"text":" release_fn(blur as *mut defines::wl_proxy, 2);","highlight_start":41,"highlight_end":50}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6894:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6894\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m release_fn(blur as *mut defines::wl_proxy, 2);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6894\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m release_fn(blur as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, 2);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6894\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m release_fn(blur as *mut wl_proxy, 2);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":318081,"byte_end":318098,"line_start":6895,"line_end":6895,"column_start":62,"column_end":79,"is_primary":true,"text":[{"text":" (self.wayland.wl_proxy_destroy)(blur as *mut defines::wl_proxy);","highlight_start":62,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":318081,"byte_end":318090,"line_start":6895,"line_end":6895,"column_start":62,"column_end":71,"is_primary":true,"text":[{"text":" (self.wayland.wl_proxy_destroy)(blur as *mut defines::wl_proxy);","highlight_start":62,"highlight_end":71}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6895:62\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6895\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.wayland.wl_proxy_destroy)(blur as *mut defines::wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6895\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (self.wayland.wl_proxy_destroy)(blur as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6895\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (self.wayland.wl_proxy_destroy)(blur as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":319316,"byte_end":319347,"line_start":6926,"line_end":6926,"column_start":30,"column_end":61,"is_primary":true,"text":[{"text":" let blur_iface = defines::get_kde_blur_interface();","highlight_start":30,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":319316,"byte_end":319325,"line_start":6926,"line_end":6926,"column_start":30,"column_end":39,"is_primary":true,"text":[{"text":" let blur_iface = defines::get_kde_blur_interface();","highlight_start":30,"highlight_end":39}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6926:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6926\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let blur_iface = defines::get_kde_blur_interface();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6926\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let blur_iface = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mget_kde_blur_interface();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6926\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let blur_iface = get_kde_blur_interface();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":319450,"byte_end":319467,"line_start":6928,"line_end":6928,"column_start":74,"column_end":91,"is_primary":true,"text":[{"text":" (self.wayland.wl_proxy_get_version)(blur_manager as *mut defines::wl_proxy);","highlight_start":74,"highlight_end":91}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":319450,"byte_end":319459,"line_start":6928,"line_end":6928,"column_start":74,"column_end":83,"is_primary":true,"text":[{"text":" (self.wayland.wl_proxy_get_version)(blur_manager as *mut defines::wl_proxy);","highlight_start":74,"highlight_end":83}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6928:74\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6928\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.wayland.wl_proxy_get_version)(blur_manager as *mut defines::wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6928\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (self.wayland.wl_proxy_get_version)(blur_manager as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6928\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (self.wayland.wl_proxy_get_version)(blur_manager as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":319627,"byte_end":319644,"line_start":6931,"line_end":6931,"column_start":26,"column_end":43,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":26,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":319627,"byte_end":319636,"line_start":6931,"line_end":6931,"column_start":26,"column_end":35,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":26,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6931:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6931\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6931\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6931\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":319698,"byte_end":319719,"line_start":6933,"line_end":6933,"column_start":28,"column_end":49,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":28,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":319698,"byte_end":319707,"line_start":6933,"line_end":6933,"column_start":28,"column_end":37,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":28,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6933:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6933\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *const defines::wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6933\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6933\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *const wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":319796,"byte_end":319812,"line_start":6936,"line_end":6936,"column_start":26,"column_end":42,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":26,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":319796,"byte_end":319806,"line_start":6936,"line_end":6936,"column_start":26,"column_end":36,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":26,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6936:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6936\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut std::ffi::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6936\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6936\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":319839,"byte_end":319858,"line_start":6937,"line_end":6937,"column_start":26,"column_end":45,"is_primary":true,"text":[{"text":" *mut defines::wl_surface,","highlight_start":26,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":319839,"byte_end":319848,"line_start":6937,"line_end":6937,"column_start":26,"column_end":35,"is_primary":true,"text":[{"text":" *mut defines::wl_surface,","highlight_start":26,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6937:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6937\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6937\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6937\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":319886,"byte_end":319903,"line_start":6938,"line_end":6938,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":319886,"byte_end":319895,"line_start":6938,"line_end":6938,"column_start":27,"column_end":36,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":27,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6938:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6938\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut defines::wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6938\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m ) -> *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6938\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ) -> *mut wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":320060,"byte_end":320077,"line_start":6941,"line_end":6941,"column_start":42,"column_end":59,"is_primary":true,"text":[{"text":" blur_manager as *mut defines::wl_proxy,","highlight_start":42,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":320060,"byte_end":320069,"line_start":6941,"line_end":6941,"column_start":42,"column_end":51,"is_primary":true,"text":[{"text":" blur_manager as *mut defines::wl_proxy,","highlight_start":42,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6941:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6941\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m blur_manager as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6941\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m blur_manager as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6941\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m blur_manager as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":320382,"byte_end":320399,"line_start":6951,"line_end":6951,"column_start":26,"column_end":43,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":26,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":320382,"byte_end":320391,"line_start":6951,"line_end":6951,"column_start":26,"column_end":35,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":26,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6951:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6951\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6951\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6951\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":320453,"byte_end":320474,"line_start":6953,"line_end":6953,"column_start":28,"column_end":49,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":28,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":320453,"byte_end":320462,"line_start":6953,"line_end":6953,"column_start":28,"column_end":37,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":28,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6953:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *const defines::wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *const wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":320501,"byte_end":320517,"line_start":6954,"line_end":6954,"column_start":26,"column_end":42,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":26,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":320501,"byte_end":320511,"line_start":6954,"line_end":6954,"column_start":26,"column_end":36,"is_primary":true,"text":[{"text":" *mut std::ffi::c_void,","highlight_start":26,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6954:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6954\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut std::ffi::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6954\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6954\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":320544,"byte_end":320563,"line_start":6955,"line_end":6955,"column_start":26,"column_end":45,"is_primary":true,"text":[{"text":" *mut defines::wl_surface,","highlight_start":26,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":320544,"byte_end":320553,"line_start":6955,"line_end":6955,"column_start":26,"column_end":35,"is_primary":true,"text":[{"text":" *mut defines::wl_surface,","highlight_start":26,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6955:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6955\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6955\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6955\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":320591,"byte_end":320608,"line_start":6956,"line_end":6956,"column_start":27,"column_end":44,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":27,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":320591,"byte_end":320600,"line_start":6956,"line_end":6956,"column_start":27,"column_end":36,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":27,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6956:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6956\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut defines::wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6956\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m ) -> *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6956\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ) -> *mut wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":320770,"byte_end":320787,"line_start":6959,"line_end":6959,"column_start":42,"column_end":59,"is_primary":true,"text":[{"text":" blur_manager as *mut defines::wl_proxy,","highlight_start":42,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":320770,"byte_end":320779,"line_start":6959,"line_end":6959,"column_start":42,"column_end":51,"is_primary":true,"text":[{"text":" blur_manager as *mut defines::wl_proxy,","highlight_start":42,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6959:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6959\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m blur_manager as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6959\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m blur_manager as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6959\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m blur_manager as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":321215,"byte_end":321241,"line_start":6974,"line_end":6974,"column_start":37,"column_end":63,"is_primary":true,"text":[{"text":" let blur = blur as *mut defines::org_kde_kwin_blur;","highlight_start":37,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":321215,"byte_end":321224,"line_start":6974,"line_end":6974,"column_start":37,"column_end":46,"is_primary":true,"text":[{"text":" let blur = blur as *mut defines::org_kde_kwin_blur;","highlight_start":37,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6974:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6974\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let blur = blur as *mut defines::org_kde_kwin_blur;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6974\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let blur = blur as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0morg_kde_kwin_blur;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6974\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let blur = blur as *mut org_kde_kwin_blur;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":321403,"byte_end":321420,"line_start":6978,"line_end":6978,"column_start":43,"column_end":60,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, *const defines::wl_region);","highlight_start":43,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":321403,"byte_end":321412,"line_start":6978,"line_end":6978,"column_start":43,"column_end":52,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, *const defines::wl_region);","highlight_start":43,"highlight_end":52}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6978:43\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6978\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, *const defines::wl_region);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6978\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32, *const defines::wl_region);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6978\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut wl_proxy, u32, *const defines::wl_region);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":321434,"byte_end":321452,"line_start":6978,"line_end":6978,"column_start":74,"column_end":92,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, *const defines::wl_region);","highlight_start":74,"highlight_end":92}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":321434,"byte_end":321443,"line_start":6978,"line_end":6978,"column_start":74,"column_end":83,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, *const defines::wl_region);","highlight_start":74,"highlight_end":83}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6978:74\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6978\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, *const defines::wl_region);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6978\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_region);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6978\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, *const wl_region);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":321608,"byte_end":321625,"line_start":6981,"line_end":6981,"column_start":30,"column_end":47,"is_primary":true,"text":[{"text":" blur as *mut defines::wl_proxy,","highlight_start":30,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":321608,"byte_end":321617,"line_start":6981,"line_end":6981,"column_start":30,"column_end":39,"is_primary":true,"text":[{"text":" blur as *mut defines::wl_proxy,","highlight_start":30,"highlight_end":39}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6981:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6981\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m blur as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6981\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m blur as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6981\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m blur as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":321679,"byte_end":321697,"line_start":6983,"line_end":6983,"column_start":34,"column_end":52,"is_primary":true,"text":[{"text":" std::ptr::null::(),","highlight_start":34,"highlight_end":52}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":321679,"byte_end":321688,"line_start":6983,"line_end":6983,"column_start":34,"column_end":43,"is_primary":true,"text":[{"text":" std::ptr::null::(),","highlight_start":34,"highlight_end":43}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6983:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6983\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null::(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6983\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m std::ptr::null::<\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_region>(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6983\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m std::ptr::null::(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":321935,"byte_end":321952,"line_start":6988,"line_end":6988,"column_start":55,"column_end":72,"is_primary":true,"text":[{"text":" type CommitFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":55,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":321935,"byte_end":321944,"line_start":6988,"line_end":6988,"column_start":55,"column_end":64,"is_primary":true,"text":[{"text":" type CommitFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":55,"highlight_end":64}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6988:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6988\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type CommitFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6988\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type CommitFn = unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6988\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type CommitFn = unsafe extern \"C\" fn(*mut wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":322085,"byte_end":322102,"line_start":6990,"line_end":6990,"column_start":36,"column_end":53,"is_primary":true,"text":[{"text":" commit_fn(blur as *mut defines::wl_proxy, 0);","highlight_start":36,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":322085,"byte_end":322094,"line_start":6990,"line_end":6990,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" commit_fn(blur as *mut defines::wl_proxy, 0);","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:6990:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6990\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m commit_fn(blur as *mut defines::wl_proxy, 0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6990\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m commit_fn(blur as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, 0);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6990\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m commit_fn(blur as *mut wl_proxy, 0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":329549,"byte_end":329615,"line_start":7125,"line_end":7125,"column_start":17,"column_end":83,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::IncrementalRelayout::Resize,","highlight_start":17,"highlight_end":83}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":329549,"byte_end":329581,"line_start":7125,"line_end":7125,"column_start":17,"column_end":49,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::IncrementalRelayout::Resize,","highlight_start":17,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:7125:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7125\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m crate::desktop::shell2::common::event::IncrementalRelayout::Resize,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7125\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::IncrementalRelayout::Resize,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7125\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event::IncrementalRelayout::Resize,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":343558,"byte_end":343590,"line_start":7375,"line_end":7375,"column_start":45,"column_end":77,"is_primary":true,"text":[{"text":" origin: azul_core::geom::LogicalPosition {","highlight_start":45,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":343558,"byte_end":343575,"line_start":7375,"line_end":7375,"column_start":45,"column_end":62,"is_primary":true,"text":[{"text":" origin: azul_core::geom::LogicalPosition {","highlight_start":45,"highlight_end":62}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:7375:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7375\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m origin: azul_core::geom::LogicalPosition {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7375\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m origin: \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7375\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m origin: LogicalPosition {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":384730,"byte_end":384747,"line_start":7997,"line_end":7997,"column_start":82,"column_end":99,"is_primary":true,"text":[{"text":" (self.wayland.wl_proxy_get_version)(self.surface as *mut defines::wl_proxy);","highlight_start":82,"highlight_end":99}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":384730,"byte_end":384739,"line_start":7997,"line_end":7997,"column_start":82,"column_end":91,"is_primary":true,"text":[{"text":" (self.wayland.wl_proxy_get_version)(self.surface as *mut defines::wl_proxy);","highlight_start":82,"highlight_end":91}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:7997:82\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7997\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.wayland.wl_proxy_get_version)(self.surface as *mut defines::wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7997\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (self.wayland.wl_proxy_get_version)(self.surface as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7997\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (self.wayland.wl_proxy_get_version)(self.surface as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":396421,"byte_end":396450,"line_start":8200,"line_end":8200,"column_start":45,"column_end":74,"is_primary":true,"text":[{"text":" static FRAME_CALLBACK_LISTENER: defines::wl_callback_listener =","highlight_start":45,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":396421,"byte_end":396430,"line_start":8200,"line_end":8200,"column_start":45,"column_end":54,"is_primary":true,"text":[{"text":" static FRAME_CALLBACK_LISTENER: defines::wl_callback_listener =","highlight_start":45,"highlight_end":54}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8200:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8200\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m static FRAME_CALLBACK_LISTENER: defines::wl_callback_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8200\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m static FRAME_CALLBACK_LISTENER: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_callback_listener =\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8200\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m static FRAME_CALLBACK_LISTENER: wl_callback_listener =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":396469,"byte_end":396498,"line_start":8201,"line_end":8201,"column_start":17,"column_end":46,"is_primary":true,"text":[{"text":" defines::wl_callback_listener {","highlight_start":17,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":396469,"byte_end":396478,"line_start":8201,"line_end":8201,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::wl_callback_listener {","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8201:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8201\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::wl_callback_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8201\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_callback_listener {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8201\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m wl_callback_listener {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":401469,"byte_end":401488,"line_start":8306,"line_end":8306,"column_start":38,"column_end":57,"is_primary":true,"text":[{"text":" let (pointer, serial): (*mut defines::wl_pointer, u32) =","highlight_start":38,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":401469,"byte_end":401478,"line_start":8306,"line_end":8306,"column_start":38,"column_end":47,"is_primary":true,"text":[{"text":" let (pointer, serial): (*mut defines::wl_pointer, u32) =","highlight_start":38,"highlight_end":47}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8306:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8306\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let (pointer, serial): (*mut defines::wl_pointer, u32) =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8306\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let (pointer, serial): (*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_pointer, u32) =\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8306\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let (pointer, serial): (*mut wl_pointer, u32) =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":405456,"byte_end":405478,"line_start":8384,"line_end":8384,"column_start":38,"column_end":60,"is_primary":true,"text":[{"text":" let cursor_name_cstr = match std::ffi::CString::new(cursor_name) {","highlight_start":38,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":405456,"byte_end":405466,"line_start":8384,"line_end":8384,"column_start":38,"column_end":48,"is_primary":true,"text":[{"text":" let cursor_name_cstr = match std::ffi::CString::new(cursor_name) {","highlight_start":38,"highlight_end":48}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8384:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8384\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let cursor_name_cstr = match std::ffi::CString::new(cursor_name) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8384\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let cursor_name_cstr = match \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mCString::new(cursor_name) {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8384\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let cursor_name_cstr = match CString::new(cursor_name) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":408312,"byte_end":408328,"line_start":8463,"line_end":8463,"column_start":16,"column_end":32,"is_primary":true,"text":[{"text":" data: *mut std::ffi::c_void,","highlight_start":16,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":408312,"byte_end":408322,"line_start":8463,"line_end":8463,"column_start":16,"column_end":26,"is_primary":true,"text":[{"text":" data: *mut std::ffi::c_void,","highlight_start":16,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8463:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data: *mut std::ffi::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m data: *mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m data: *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":408349,"byte_end":408369,"line_start":8464,"line_end":8464,"column_start":20,"column_end":40,"is_primary":true,"text":[{"text":" callback: *mut defines::wl_callback,","highlight_start":20,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":408349,"byte_end":408358,"line_start":8464,"line_end":8464,"column_start":20,"column_end":29,"is_primary":true,"text":[{"text":" callback: *mut defines::wl_callback,","highlight_start":20,"highlight_end":29}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8464:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m callback: *mut defines::wl_callback,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m callback: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_callback,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m callback: *mut wl_callback,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418324,"byte_end":418346,"line_start":8673,"line_end":8673,"column_start":22,"column_end":44,"is_primary":true,"text":[{"text":" viewporter: *mut defines::wp_viewporter,","highlight_start":22,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418324,"byte_end":418333,"line_start":8673,"line_end":8673,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" viewporter: *mut defines::wp_viewporter,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8673:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8673\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m viewporter: *mut defines::wp_viewporter,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8673\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m viewporter: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwp_viewporter,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8673\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m viewporter: *mut wp_viewporter,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418366,"byte_end":418385,"line_start":8674,"line_end":8674,"column_start":19,"column_end":38,"is_primary":true,"text":[{"text":" surface: *mut defines::wl_surface,","highlight_start":19,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418366,"byte_end":418375,"line_start":8674,"line_end":8674,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" surface: *mut defines::wl_surface,","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8674:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8674\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m surface: *mut defines::wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8674\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m surface: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8674\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m surface: *mut wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418404,"byte_end":418424,"line_start":8675,"line_end":8675,"column_start":18,"column_end":38,"is_primary":true,"text":[{"text":") -> Option<*mut defines::wp_viewport> {","highlight_start":18,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418404,"byte_end":418413,"line_start":8675,"line_end":8675,"column_start":18,"column_end":27,"is_primary":true,"text":[{"text":") -> Option<*mut defines::wp_viewport> {","highlight_start":18,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8675:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8675\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> Option<*mut defines::wp_viewport> {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8675\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m) -> Option<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwp_viewport> {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8675\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m) -> Option<*mut wp_viewport> {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418568,"byte_end":418585,"line_start":8680,"line_end":8680,"column_start":14,"column_end":31,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":14,"highlight_end":31}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418568,"byte_end":418577,"line_start":8680,"line_end":8680,"column_start":14,"column_end":23,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":14,"highlight_end":23}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8680:14\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8680\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8680\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8680\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418615,"byte_end":418636,"line_start":8682,"line_end":8682,"column_start":16,"column_end":37,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":16,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418615,"byte_end":418624,"line_start":8682,"line_end":8682,"column_start":16,"column_end":25,"is_primary":true,"text":[{"text":" *const defines::wl_interface,","highlight_start":16,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8682:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8682\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *const defines::wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8682\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8682\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *const wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418672,"byte_end":418691,"line_start":8684,"line_end":8684,"column_start":14,"column_end":33,"is_primary":true,"text":[{"text":" *mut defines::wl_surface,","highlight_start":14,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418672,"byte_end":418681,"line_start":8684,"line_end":8684,"column_start":14,"column_end":23,"is_primary":true,"text":[{"text":" *mut defines::wl_surface,","highlight_start":14,"highlight_end":23}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8684:14\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8684\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8684\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8684\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418707,"byte_end":418724,"line_start":8685,"line_end":8685,"column_start":15,"column_end":32,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":15,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418707,"byte_end":418716,"line_start":8685,"line_end":8685,"column_start":15,"column_end":24,"is_primary":true,"text":[{"text":" ) -> *mut defines::wl_proxy;","highlight_start":15,"highlight_end":24}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8685:15\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8685\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut defines::wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8685\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m ) -> *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8685\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ) -> *mut wl_proxy;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418857,"byte_end":418874,"line_start":8688,"line_end":8688,"column_start":28,"column_end":45,"is_primary":true,"text":[{"text":" viewporter as *mut defines::wl_proxy,","highlight_start":28,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418857,"byte_end":418866,"line_start":8688,"line_end":8688,"column_start":28,"column_end":37,"is_primary":true,"text":[{"text":" viewporter as *mut defines::wl_proxy,","highlight_start":28,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8688:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8688\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m viewporter as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8688\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m viewporter as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8688\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m viewporter as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418947,"byte_end":418981,"line_start":8690,"line_end":8690,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" defines::get_wp_viewport_interface(),","highlight_start":9,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418947,"byte_end":418956,"line_start":8690,"line_end":8690,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" defines::get_wp_viewport_interface(),","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8690:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8690\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::get_wp_viewport_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8690\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mget_wp_viewport_interface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8690\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m get_wp_viewport_interface(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":419148,"byte_end":419168,"line_start":8697,"line_end":8697,"column_start":25,"column_end":45,"is_primary":true,"text":[{"text":" Some(vp as *mut defines::wp_viewport)","highlight_start":25,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":419148,"byte_end":419157,"line_start":8697,"line_end":8697,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" Some(vp as *mut defines::wp_viewport)","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8697:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8697\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Some(vp as *mut defines::wp_viewport)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8697\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m Some(vp as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwp_viewport)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8697\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m Some(vp as *mut wp_viewport)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":419478,"byte_end":419498,"line_start":8706,"line_end":8706,"column_start":20,"column_end":40,"is_primary":true,"text":[{"text":" viewport: *mut defines::wp_viewport,","highlight_start":20,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":419478,"byte_end":419487,"line_start":8706,"line_end":8706,"column_start":20,"column_end":29,"is_primary":true,"text":[{"text":" viewport: *mut defines::wp_viewport,","highlight_start":20,"highlight_end":29}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8706:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8706\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m viewport: *mut defines::wp_viewport,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8706\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m viewport: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwp_viewport,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8706\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m viewport: *mut wp_viewport,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":419723,"byte_end":419740,"line_start":8713,"line_end":8713,"column_start":48,"column_end":65,"is_primary":true,"text":[{"text":" type SetDestFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, i32, i32);","highlight_start":48,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":419723,"byte_end":419732,"line_start":8713,"line_end":8713,"column_start":48,"column_end":57,"is_primary":true,"text":[{"text":" type SetDestFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, i32, i32);","highlight_start":48,"highlight_end":57}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8713:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8713\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type SetDestFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, i32, i32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8713\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type SetDestFn = unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32, i32, i32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8713\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type SetDestFn = unsafe extern \"C\" fn(*mut wl_proxy, u32, i32, i32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":419851,"byte_end":419868,"line_start":8715,"line_end":8715,"column_start":24,"column_end":41,"is_primary":true,"text":[{"text":" f(viewport as *mut defines::wl_proxy, 2, logical_w, logical_h);","highlight_start":24,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":419851,"byte_end":419860,"line_start":8715,"line_end":8715,"column_start":24,"column_end":33,"is_primary":true,"text":[{"text":" f(viewport as *mut defines::wl_proxy, 2, logical_w, logical_h);","highlight_start":24,"highlight_end":33}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8715:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8715\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(viewport as *mut defines::wl_proxy, 2, logical_w, logical_h);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8715\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m f(viewport as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, 2, logical_w, logical_h);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8715\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m f(viewport as *mut wl_proxy, 2, logical_w, logical_h);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":420022,"byte_end":420042,"line_start":8719,"line_end":8719,"column_start":65,"column_end":85,"is_primary":true,"text":[{"text":"unsafe fn wp_viewport_destroy(wayland: &Wayland, viewport: *mut defines::wp_viewport) {","highlight_start":65,"highlight_end":85}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":420022,"byte_end":420031,"line_start":8719,"line_end":8719,"column_start":65,"column_end":74,"is_primary":true,"text":[{"text":"unsafe fn wp_viewport_destroy(wayland: &Wayland, viewport: *mut defines::wp_viewport) {","highlight_start":65,"highlight_end":74}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8719:65\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8719\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn wp_viewport_destroy(wayland: &Wayland, viewport: *mut defines::wp_viewport) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8719\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0munsafe fn wp_viewport_destroy(wayland: &Wayland, viewport: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwp_viewport) {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8719\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0munsafe fn wp_viewport_destroy(wayland: &Wayland, viewport: *mut wp_viewport) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":420143,"byte_end":420160,"line_start":8723,"line_end":8723,"column_start":48,"column_end":65,"is_primary":true,"text":[{"text":" type DestroyFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":48,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":420143,"byte_end":420152,"line_start":8723,"line_end":8723,"column_start":48,"column_end":57,"is_primary":true,"text":[{"text":" type DestroyFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":48,"highlight_end":57}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8723:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8723\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type DestroyFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8723\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type DestroyFn = unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8723\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type DestroyFn = unsafe extern \"C\" fn(*mut wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":420261,"byte_end":420278,"line_start":8725,"line_end":8725,"column_start":24,"column_end":41,"is_primary":true,"text":[{"text":" f(viewport as *mut defines::wl_proxy, 0);","highlight_start":24,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":420261,"byte_end":420270,"line_start":8725,"line_end":8725,"column_start":24,"column_end":33,"is_primary":true,"text":[{"text":" f(viewport as *mut defines::wl_proxy, 0);","highlight_start":24,"highlight_end":33}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8725:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8725\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(viewport as *mut defines::wl_proxy, 0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8725\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m f(viewport as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, 0);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8725\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m f(viewport as *mut wl_proxy, 0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":427209,"byte_end":427227,"line_start":8918,"line_end":8918,"column_start":37,"column_end":55,"is_primary":true,"text":[{"text":" fn active_buffer(&self) -> *mut defines::wl_buffer {","highlight_start":37,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":427209,"byte_end":427218,"line_start":8918,"line_end":8918,"column_start":37,"column_end":46,"is_primary":true,"text":[{"text":" fn active_buffer(&self) -> *mut defines::wl_buffer {","highlight_start":37,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8918:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8918\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn active_buffer(&self) -> *mut defines::wl_buffer {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8918\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m fn active_buffer(&self) -> *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_buffer {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8918\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m fn active_buffer(&self) -> *mut wl_buffer {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":449337,"byte_end":449378,"line_start":9455,"line_end":9455,"column_start":29,"column_end":70,"is_primary":true,"text":[{"text":" keyboard_state: azul_core::window::KeyboardState::default(),","highlight_start":29,"highlight_end":70}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":449337,"byte_end":449356,"line_start":9455,"line_end":9455,"column_start":29,"column_end":48,"is_primary":true,"text":[{"text":" keyboard_state: azul_core::window::KeyboardState::default(),","highlight_start":29,"highlight_end":48}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:9455:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9455\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m keyboard_state: azul_core::window::KeyboardState::default(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9455\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m keyboard_state: \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::window::\u001b[0m\u001b[0mKeyboardState::default(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9455\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m keyboard_state: KeyboardState::default(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":452295,"byte_end":452365,"line_start":9505,"line_end":9505,"column_start":24,"column_end":94,"is_primary":true,"text":[{"text":" common.regen = crate::desktop::shell2::common::event::RegenerationState::idle_initial();","highlight_start":24,"highlight_end":94}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":452295,"byte_end":452327,"line_start":9505,"line_end":9505,"column_start":24,"column_end":56,"is_primary":true,"text":[{"text":" common.regen = crate::desktop::shell2::common::event::RegenerationState::idle_initial();","highlight_start":24,"highlight_end":56}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:9505:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9505\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m common.regen = crate::desktop::shell2::common::event::RegenerationState::idle_initial();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9505\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m common.regen = \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::RegenerationState::idle_initial();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9505\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m common.regen = event::RegenerationState::idle_initial();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":462896,"byte_end":462913,"line_start":9766,"line_end":9766,"column_start":78,"column_end":95,"is_primary":true,"text":[{"text":" (self.wayland.wl_proxy_get_version)(self.surface as *mut defines::wl_proxy);","highlight_start":78,"highlight_end":95}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":462896,"byte_end":462905,"line_start":9766,"line_end":9766,"column_start":78,"column_end":87,"is_primary":true,"text":[{"text":" (self.wayland.wl_proxy_get_version)(self.surface as *mut defines::wl_proxy);","highlight_start":78,"highlight_end":87}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:9766:78\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9766\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.wayland.wl_proxy_get_version)(self.surface as *mut defines::wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9766\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (self.wayland.wl_proxy_get_version)(self.surface as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9766\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (self.wayland.wl_proxy_get_version)(self.surface as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":466981,"byte_end":467048,"line_start":9859,"line_end":9859,"column_start":21,"column_end":88,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::IncrementalRelayout::Restyle,","highlight_start":21,"highlight_end":88}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":466981,"byte_end":467013,"line_start":9859,"line_end":9859,"column_start":21,"column_end":53,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::IncrementalRelayout::Restyle,","highlight_start":21,"highlight_end":53}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:9859:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9859\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m crate::desktop::shell2::common::event::IncrementalRelayout::Restyle,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9859\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::IncrementalRelayout::Restyle,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9859\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event::IncrementalRelayout::Restyle,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":480243,"byte_end":480263,"line_start":10209,"line_end":10209,"column_start":23,"column_end":43,"is_primary":true,"text":[{"text":" xdg_surface: *mut defines::xdg_surface,","highlight_start":23,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":480243,"byte_end":480252,"line_start":10209,"line_end":10209,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" xdg_surface: *mut defines::xdg_surface,","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10209:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10209\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m xdg_surface: *mut defines::xdg_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10209\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m xdg_surface: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10209\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m xdg_surface: *mut xdg_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":480285,"byte_end":480303,"line_start":10210,"line_end":10210,"column_start":21,"column_end":39,"is_primary":true,"text":[{"text":" xdg_popup: *mut defines::xdg_popup,","highlight_start":21,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":480285,"byte_end":480294,"line_start":10210,"line_end":10210,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" xdg_popup: *mut defines::xdg_popup,","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10210:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10210\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m xdg_popup: *mut defines::xdg_popup,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10210\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m xdg_popup: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_popup,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10210\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m xdg_popup: *mut xdg_popup,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":480816,"byte_end":480836,"line_start":10222,"line_end":10222,"column_start":23,"column_end":43,"is_primary":true,"text":[{"text":" xdg_surface: *mut defines::xdg_surface,","highlight_start":23,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":480816,"byte_end":480825,"line_start":10222,"line_end":10222,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" xdg_surface: *mut defines::xdg_surface,","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10222:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10222\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m xdg_surface: *mut defines::xdg_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10222\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m xdg_surface: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10222\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m xdg_surface: *mut xdg_surface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":482073,"byte_end":482090,"line_start":10256,"line_end":10256,"column_start":30,"column_end":47,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":30,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":482073,"byte_end":482082,"line_start":10256,"line_end":10256,"column_start":30,"column_end":39,"is_primary":true,"text":[{"text":" *mut defines::wl_proxy,","highlight_start":30,"highlight_end":39}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10256:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10256\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10256\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10256\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":482511,"byte_end":482528,"line_start":10267,"line_end":10267,"column_start":48,"column_end":65,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":48,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":482511,"byte_end":482520,"line_start":10267,"line_end":10267,"column_start":48,"column_end":57,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":48,"highlight_end":57}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10267:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":482558,"byte_end":482605,"line_start":10268,"line_end":10268,"column_start":29,"column_end":76,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE,","highlight_start":29,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":482558,"byte_end":482567,"line_start":10268,"line_end":10268,"column_start":29,"column_end":38,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE,","highlight_start":29,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10268:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10268\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10268\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10268\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":482989,"byte_end":483006,"line_start":10276,"line_end":10276,"column_start":63,"column_end":80,"is_primary":true,"text":[{"text":" type CommitFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":63,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":482989,"byte_end":482998,"line_start":10276,"line_end":10276,"column_start":63,"column_end":72,"is_primary":true,"text":[{"text":" type CommitFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":63,"highlight_end":72}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10276:63\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10276\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type CommitFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10276\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type CommitFn = unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10276\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type CommitFn = unsafe extern \"C\" fn(*mut wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":483252,"byte_end":483269,"line_start":10281,"line_end":10281,"column_start":48,"column_end":65,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":48,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":483252,"byte_end":483261,"line_start":10281,"line_end":10281,"column_start":48,"column_end":57,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":48,"highlight_end":57}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10281:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10281\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10281\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10281\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":483299,"byte_end":483332,"line_start":10282,"line_end":10282,"column_start":29,"column_end":62,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_COMMIT,","highlight_start":29,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":483299,"byte_end":483308,"line_start":10282,"line_end":10282,"column_start":29,"column_end":38,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_COMMIT,","highlight_start":29,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10282:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10282\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10282\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10282\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":488704,"byte_end":488726,"line_start":10397,"line_end":10397,"column_start":23,"column_end":45,"is_primary":true,"text":[{"text":" match std::ffi::CString::new(&text_str[window]) {","highlight_start":23,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":488704,"byte_end":488714,"line_start":10397,"line_end":10397,"column_start":23,"column_end":33,"is_primary":true,"text":[{"text":" match std::ffi::CString::new(&text_str[window]) {","highlight_start":23,"highlight_end":33}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10397:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10397\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m match std::ffi::CString::new(&text_str[window]) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10397\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m match \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mCString::new(&text_str[window]) {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10397\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m match CString::new(&text_str[window]) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":488855,"byte_end":488877,"line_start":10399,"line_end":10399,"column_start":32,"column_end":54,"is_primary":true,"text":[{"text":" Err(_) => (std::ffi::CString::new(\"\").unwrap(), 0, 0),","highlight_start":32,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":488855,"byte_end":488865,"line_start":10399,"line_end":10399,"column_start":32,"column_end":42,"is_primary":true,"text":[{"text":" Err(_) => (std::ffi::CString::new(\"\").unwrap(), 0, 0),","highlight_start":32,"highlight_end":42}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10399:32\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10399\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Err(_) => (std::ffi::CString::new(\"\").unwrap(), 0, 0),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10399\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m Err(_) => (\u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mCString::new(\"\").unwrap(), 0, 0),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10399\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m Err(_) => (CString::new(\"\").unwrap(), 0, 0),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":489127,"byte_end":489144,"line_start":10407,"line_end":10407,"column_start":39,"column_end":56,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, *const std::ffi::c_char, i32, i32);","highlight_start":39,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":489127,"byte_end":489136,"line_start":10407,"line_end":10407,"column_start":39,"column_end":48,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, *const std::ffi::c_char, i32, i32);","highlight_start":39,"highlight_end":48}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10407:39\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10407\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, *const std::ffi::c_char, i32, i32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10407\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32, *const std::ffi::c_char, i32, i32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10407\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut wl_proxy, u32, *const std::ffi::c_char, i32, i32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":489388,"byte_end":489405,"line_start":10412,"line_end":10412,"column_start":36,"column_end":53,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":489388,"byte_end":489397,"line_start":10412,"line_end":10412,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10412:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":489423,"byte_end":489470,"line_start":10413,"line_end":10413,"column_start":17,"column_end":64,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT,","highlight_start":17,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":489423,"byte_end":489432,"line_start":10413,"line_end":10413,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10413:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":489985,"byte_end":490002,"line_start":10428,"line_end":10428,"column_start":56,"column_end":73,"is_primary":true,"text":[{"text":" type MarshalFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":56,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":489985,"byte_end":489994,"line_start":10428,"line_end":10428,"column_start":56,"column_end":65,"is_primary":true,"text":[{"text":" type MarshalFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":56,"highlight_end":65}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10428:56\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10428\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type MarshalFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10428\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type MarshalFn = unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10428\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type MarshalFn = unsafe extern \"C\" fn(*mut wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490232,"byte_end":490249,"line_start":10433,"line_end":10433,"column_start":40,"column_end":57,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":40,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490232,"byte_end":490241,"line_start":10433,"line_end":10433,"column_start":40,"column_end":49,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":40,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10433:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10433\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10433\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10433\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490271,"byte_end":490304,"line_start":10434,"line_end":10434,"column_start":21,"column_end":54,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_ENABLE,","highlight_start":21,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490271,"byte_end":490280,"line_start":10434,"line_end":10434,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_ENABLE,","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10434:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10434\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_ENABLE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10434\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_ENABLE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10434\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_ENABLE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490479,"byte_end":490496,"line_start":10437,"line_end":10437,"column_start":64,"column_end":81,"is_primary":true,"text":[{"text":" type ContentTypeFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, u32, u32);","highlight_start":64,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490479,"byte_end":490488,"line_start":10437,"line_end":10437,"column_start":64,"column_end":73,"is_primary":true,"text":[{"text":" type ContentTypeFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, u32, u32);","highlight_start":64,"highlight_end":73}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10437:64\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10437\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type ContentTypeFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, u32, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10437\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type ContentTypeFn = unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32, u32, u32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10437\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type ContentTypeFn = unsafe extern \"C\" fn(*mut wl_proxy, u32, u32, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490705,"byte_end":490722,"line_start":10441,"line_end":10441,"column_start":40,"column_end":57,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":40,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490705,"byte_end":490714,"line_start":10441,"line_end":10441,"column_start":40,"column_end":49,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":40,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10441:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10441\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10441\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10441\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490744,"byte_end":490787,"line_start":10442,"line_end":10442,"column_start":21,"column_end":64,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE,","highlight_start":21,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490744,"byte_end":490753,"line_start":10442,"line_end":10442,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE,","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10442:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10442\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10442\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10442\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490809,"byte_end":490859,"line_start":10443,"line_end":10443,"column_start":21,"column_end":71,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_CONTENT_HINT_COMPLETION","highlight_start":21,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490809,"byte_end":490818,"line_start":10443,"line_end":10443,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_CONTENT_HINT_COMPLETION","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10443:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10443\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_CONTENT_HINT_COMPLETION\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10443\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_CONTENT_HINT_COMPLETION\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10443\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_CONTENT_HINT_COMPLETION\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490886,"byte_end":490936,"line_start":10444,"line_end":10444,"column_start":27,"column_end":77,"is_primary":true,"text":[{"text":" | defines::ZWP_TEXT_INPUT_V3_CONTENT_HINT_SPELLCHECK,","highlight_start":27,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490886,"byte_end":490895,"line_start":10444,"line_end":10444,"column_start":27,"column_end":36,"is_primary":true,"text":[{"text":" | defines::ZWP_TEXT_INPUT_V3_CONTENT_HINT_SPELLCHECK,","highlight_start":27,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10444:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10444\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m | defines::ZWP_TEXT_INPUT_V3_CONTENT_HINT_SPELLCHECK,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10444\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_CONTENT_HINT_SPELLCHECK,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10444\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m | ZWP_TEXT_INPUT_V3_CONTENT_HINT_SPELLCHECK,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490958,"byte_end":491007,"line_start":10445,"line_end":10445,"column_start":21,"column_end":70,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NORMAL,","highlight_start":21,"highlight_end":70}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":490958,"byte_end":490967,"line_start":10445,"line_end":10445,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NORMAL,","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10445:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10445\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NORMAL,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10445\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NORMAL,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10445\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NORMAL,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":491284,"byte_end":491301,"line_start":10453,"line_end":10453,"column_start":40,"column_end":57,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":40,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":491284,"byte_end":491293,"line_start":10453,"line_end":10453,"column_start":40,"column_end":49,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":40,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10453:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10453\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10453\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10453\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":491323,"byte_end":491356,"line_start":10454,"line_end":10454,"column_start":21,"column_end":54,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_COMMIT,","highlight_start":21,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":491323,"byte_end":491332,"line_start":10454,"line_end":10454,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_COMMIT,","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10454:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10454\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10454\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10454\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":491929,"byte_end":491946,"line_start":10471,"line_end":10471,"column_start":56,"column_end":73,"is_primary":true,"text":[{"text":" type MarshalFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":56,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":491929,"byte_end":491938,"line_start":10471,"line_end":10471,"column_start":56,"column_end":65,"is_primary":true,"text":[{"text":" type MarshalFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":56,"highlight_end":65}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10471:56\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type MarshalFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type MarshalFn = unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type MarshalFn = unsafe extern \"C\" fn(*mut wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":492177,"byte_end":492194,"line_start":10476,"line_end":10476,"column_start":40,"column_end":57,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":40,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":492177,"byte_end":492186,"line_start":10476,"line_end":10476,"column_start":40,"column_end":49,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":40,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10476:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":492216,"byte_end":492250,"line_start":10477,"line_end":10477,"column_start":21,"column_end":55,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_DISABLE,","highlight_start":21,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":492216,"byte_end":492225,"line_start":10477,"line_end":10477,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_DISABLE,","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10477:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_DISABLE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_DISABLE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_DISABLE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":492372,"byte_end":492389,"line_start":10481,"line_end":10481,"column_start":40,"column_end":57,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":40,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":492372,"byte_end":492381,"line_start":10481,"line_end":10481,"column_start":40,"column_end":49,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":40,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10481:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10481\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10481\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10481\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":492411,"byte_end":492444,"line_start":10482,"line_end":10482,"column_start":21,"column_end":54,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_COMMIT,","highlight_start":21,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":492411,"byte_end":492420,"line_start":10482,"line_end":10482,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_COMMIT,","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10482:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10482\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10482\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10482\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":493203,"byte_end":493229,"line_start":10501,"line_end":10501,"column_start":62,"column_end":88,"is_primary":true,"text":[{"text":" pub(super) fn seat_of_text_input(&self, text_input: *mut defines::zwp_text_input_v3) -> u64 {","highlight_start":62,"highlight_end":88}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":493203,"byte_end":493212,"line_start":10501,"line_end":10501,"column_start":62,"column_end":71,"is_primary":true,"text":[{"text":" pub(super) fn seat_of_text_input(&self, text_input: *mut defines::zwp_text_input_v3) -> u64 {","highlight_start":62,"highlight_end":71}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10501:62\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10501\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub(super) fn seat_of_text_input(&self, text_input: *mut defines::zwp_text_input_v3) -> u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10501\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub(super) fn seat_of_text_input(&self, text_input: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mzwp_text_input_v3) -> u64 {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10501\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub(super) fn seat_of_text_input(&self, text_input: *mut zwp_text_input_v3) -> u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":495343,"byte_end":495360,"line_start":10554,"line_end":10554,"column_start":52,"column_end":69,"is_primary":true,"text":[{"text":" type MarshalFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, i32, i32, i32, i32);","highlight_start":52,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":495343,"byte_end":495352,"line_start":10554,"line_end":10554,"column_start":52,"column_end":61,"is_primary":true,"text":[{"text":" type MarshalFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, i32, i32, i32, i32);","highlight_start":52,"highlight_end":61}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10554:52\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10554\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type MarshalFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, i32, i32, i32, i32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10554\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type MarshalFn = unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32, i32, i32, i32, i32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10554\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type MarshalFn = unsafe extern \"C\" fn(*mut wl_proxy, u32, i32, i32, i32, i32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":495534,"byte_end":495551,"line_start":10556,"line_end":10556,"column_start":51,"column_end":68,"is_primary":true,"text":[{"text":" type CommitFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":51,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":495534,"byte_end":495543,"line_start":10556,"line_end":10556,"column_start":51,"column_end":60,"is_primary":true,"text":[{"text":" type CommitFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":51,"highlight_end":60}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10556:51\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10556\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type CommitFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10556\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type CommitFn = unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10556\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type CommitFn = unsafe extern \"C\" fn(*mut wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":495726,"byte_end":495743,"line_start":10560,"line_end":10560,"column_start":36,"column_end":53,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":495726,"byte_end":495735,"line_start":10560,"line_end":10560,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10560:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10560\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10560\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10560\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":495761,"byte_end":495808,"line_start":10561,"line_end":10561,"column_start":17,"column_end":64,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE,","highlight_start":17,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":495761,"byte_end":495770,"line_start":10561,"line_end":10561,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10561:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10561\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10561\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10561\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_SET_CURSOR_RECTANGLE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496055,"byte_end":496072,"line_start":10568,"line_end":10568,"column_start":36,"column_end":53,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496055,"byte_end":496064,"line_start":10568,"line_end":10568,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10568:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10568\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10568\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10568\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496090,"byte_end":496123,"line_start":10569,"line_end":10569,"column_start":17,"column_end":50,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_COMMIT,","highlight_start":17,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496090,"byte_end":496099,"line_start":10569,"line_end":10569,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_COMMIT,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10569:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10569\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10569\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10569\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496430,"byte_end":496447,"line_start":10579,"line_end":10579,"column_start":52,"column_end":69,"is_primary":true,"text":[{"text":" type MarshalFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":52,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496430,"byte_end":496439,"line_start":10579,"line_end":10579,"column_start":52,"column_end":61,"is_primary":true,"text":[{"text":" type MarshalFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":52,"highlight_end":61}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10579:52\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10579\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type MarshalFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10579\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type MarshalFn = unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10579\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type MarshalFn = unsafe extern \"C\" fn(*mut wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496624,"byte_end":496641,"line_start":10583,"line_end":10583,"column_start":36,"column_end":53,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496624,"byte_end":496633,"line_start":10583,"line_end":10583,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10583:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10583\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10583\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10583\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496659,"byte_end":496692,"line_start":10584,"line_end":10584,"column_start":17,"column_end":50,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_ENABLE,","highlight_start":17,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496659,"byte_end":496668,"line_start":10584,"line_end":10584,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_ENABLE,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10584:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10584\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_ENABLE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10584\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_ENABLE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10584\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_ENABLE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496768,"byte_end":496785,"line_start":10586,"line_end":10586,"column_start":60,"column_end":77,"is_primary":true,"text":[{"text":" type ContentTypeFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, u32, u32);","highlight_start":60,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496768,"byte_end":496777,"line_start":10586,"line_end":10586,"column_start":60,"column_end":69,"is_primary":true,"text":[{"text":" type ContentTypeFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, u32, u32);","highlight_start":60,"highlight_end":69}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10586:60\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10586\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type ContentTypeFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, u32, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10586\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type ContentTypeFn = unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32, u32, u32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10586\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type ContentTypeFn = unsafe extern \"C\" fn(*mut wl_proxy, u32, u32, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496962,"byte_end":496979,"line_start":10589,"line_end":10589,"column_start":36,"column_end":53,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496962,"byte_end":496971,"line_start":10589,"line_end":10589,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10589:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10589\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10589\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10589\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496997,"byte_end":497040,"line_start":10590,"line_end":10590,"column_start":17,"column_end":60,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE,","highlight_start":17,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":496997,"byte_end":497006,"line_start":10590,"line_end":10590,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10590:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10590\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10590\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10590\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_SET_CONTENT_TYPE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":497058,"byte_end":497108,"line_start":10591,"line_end":10591,"column_start":17,"column_end":67,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_CONTENT_HINT_COMPLETION","highlight_start":17,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":497058,"byte_end":497067,"line_start":10591,"line_end":10591,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_CONTENT_HINT_COMPLETION","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10591:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10591\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_CONTENT_HINT_COMPLETION\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10591\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_CONTENT_HINT_COMPLETION\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10591\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_CONTENT_HINT_COMPLETION\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":497131,"byte_end":497181,"line_start":10592,"line_end":10592,"column_start":23,"column_end":73,"is_primary":true,"text":[{"text":" | defines::ZWP_TEXT_INPUT_V3_CONTENT_HINT_SPELLCHECK,","highlight_start":23,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":497131,"byte_end":497140,"line_start":10592,"line_end":10592,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" | defines::ZWP_TEXT_INPUT_V3_CONTENT_HINT_SPELLCHECK,","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10592:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10592\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m | defines::ZWP_TEXT_INPUT_V3_CONTENT_HINT_SPELLCHECK,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10592\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_CONTENT_HINT_SPELLCHECK,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10592\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m | ZWP_TEXT_INPUT_V3_CONTENT_HINT_SPELLCHECK,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":497199,"byte_end":497248,"line_start":10593,"line_end":10593,"column_start":17,"column_end":66,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NORMAL,","highlight_start":17,"highlight_end":66}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":497199,"byte_end":497208,"line_start":10593,"line_end":10593,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NORMAL,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10593:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10593\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NORMAL,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10593\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NORMAL,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10593\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NORMAL,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":497452,"byte_end":497469,"line_start":10600,"line_end":10600,"column_start":36,"column_end":53,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":497452,"byte_end":497461,"line_start":10600,"line_end":10600,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10600:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10600\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10600\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10600\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":497487,"byte_end":497520,"line_start":10601,"line_end":10601,"column_start":17,"column_end":50,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_COMMIT,","highlight_start":17,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":497487,"byte_end":497496,"line_start":10601,"line_end":10601,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_COMMIT,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10601:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":497828,"byte_end":497845,"line_start":10611,"line_end":10611,"column_start":52,"column_end":69,"is_primary":true,"text":[{"text":" type MarshalFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":52,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":497828,"byte_end":497837,"line_start":10611,"line_end":10611,"column_start":52,"column_end":61,"is_primary":true,"text":[{"text":" type MarshalFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);","highlight_start":52,"highlight_end":61}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10611:52\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10611\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type MarshalFn = unsafe extern \"C\" fn(*mut defines::wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10611\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type MarshalFn = unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10611\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type MarshalFn = unsafe extern \"C\" fn(*mut wl_proxy, u32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":498022,"byte_end":498039,"line_start":10615,"line_end":10615,"column_start":36,"column_end":53,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":498022,"byte_end":498031,"line_start":10615,"line_end":10615,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10615:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10615\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10615\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10615\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":498057,"byte_end":498091,"line_start":10616,"line_end":10616,"column_start":17,"column_end":51,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_DISABLE,","highlight_start":17,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":498057,"byte_end":498066,"line_start":10616,"line_end":10616,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_DISABLE,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10616:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10616\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_DISABLE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10616\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_DISABLE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10616\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_DISABLE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":498164,"byte_end":498181,"line_start":10619,"line_end":10619,"column_start":36,"column_end":53,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":498164,"byte_end":498173,"line_start":10619,"line_end":10619,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10619:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10619\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10619\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10619\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":498199,"byte_end":498232,"line_start":10620,"line_end":10620,"column_start":17,"column_end":50,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_COMMIT,","highlight_start":17,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":498199,"byte_end":498208,"line_start":10620,"line_end":10620,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_COMMIT,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10620:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10620\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10620\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10620\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_COMMIT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":500484,"byte_end":500506,"line_start":10672,"line_end":10672,"column_start":24,"column_end":46,"is_primary":true,"text":[{"text":" let Ok(text) = std::ffi::CString::new(&text_str[window]) else {","highlight_start":24,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":500484,"byte_end":500494,"line_start":10672,"line_end":10672,"column_start":24,"column_end":34,"is_primary":true,"text":[{"text":" let Ok(text) = std::ffi::CString::new(&text_str[window]) else {","highlight_start":24,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10672:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10672\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let Ok(text) = std::ffi::CString::new(&text_str[window]) else {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10672\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let Ok(text) = \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mCString::new(&text_str[window]) else {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10672\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let Ok(text) = CString::new(&text_str[window]) else {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":500631,"byte_end":500648,"line_start":10676,"line_end":10676,"column_start":39,"column_end":56,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, *const std::ffi::c_char, i32, i32);","highlight_start":39,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":500631,"byte_end":500640,"line_start":10676,"line_end":10676,"column_start":39,"column_end":48,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, *const std::ffi::c_char, i32, i32);","highlight_start":39,"highlight_end":48}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10676:39\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10676\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut defines::wl_proxy, u32, *const std::ffi::c_char, i32, i32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10676\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy, u32, *const std::ffi::c_char, i32, i32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10676\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut wl_proxy, u32, *const std::ffi::c_char, i32, i32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":500892,"byte_end":500909,"line_start":10681,"line_end":10681,"column_start":36,"column_end":53,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":500892,"byte_end":500901,"line_start":10681,"line_end":10681,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" text_input as *mut defines::wl_proxy,","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10681:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10681\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10681\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m text_input as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mwl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10681\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":500927,"byte_end":500974,"line_start":10682,"line_end":10682,"column_start":17,"column_end":64,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT,","highlight_start":17,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":500927,"byte_end":500936,"line_start":10682,"line_end":10682,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10682:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10682\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10682\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10682\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ZWP_TEXT_INPUT_V3_SET_SURROUNDING_TEXT,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":504202,"byte_end":504234,"line_start":10763,"line_end":10763,"column_start":54,"column_end":86,"is_primary":true,"text":[{"text":" fn show_tooltip(&mut self, text: &str, position: azul_core::geom::LogicalPosition) {","highlight_start":54,"highlight_end":86}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":504202,"byte_end":504219,"line_start":10763,"line_end":10763,"column_start":54,"column_end":71,"is_primary":true,"text":[{"text":" fn show_tooltip(&mut self, text: &str, position: azul_core::geom::LogicalPosition) {","highlight_start":54,"highlight_end":71}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10763:54\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10763\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn show_tooltip(&mut self, text: &str, position: azul_core::geom::LogicalPosition) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10763\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m fn show_tooltip(&mut self, text: &str, position: \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition) {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10763\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m fn show_tooltip(&mut self, text: &str, position: LogicalPosition) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":516772,"byte_end":516790,"line_start":11097,"line_end":11097,"column_start":22,"column_end":40,"is_primary":true,"text":[{"text":" _xdg_popup: *mut defines::xdg_popup,","highlight_start":22,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":516772,"byte_end":516781,"line_start":11097,"line_end":11097,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" _xdg_popup: *mut defines::xdg_popup,","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:11097:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m11097\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m _xdg_popup: *mut defines::xdg_popup,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m11097\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m _xdg_popup: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_popup,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m11097\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m _xdg_popup: *mut xdg_popup,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":517413,"byte_end":517431,"line_start":11124,"line_end":11124,"column_start":62,"column_end":80,"is_primary":true,"text":[{"text":"extern \"C\" fn popup_done(data: *mut c_void, _xdg_popup: *mut defines::xdg_popup) {","highlight_start":62,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":517413,"byte_end":517422,"line_start":11124,"line_end":11124,"column_start":62,"column_end":71,"is_primary":true,"text":[{"text":"extern \"C\" fn popup_done(data: *mut c_void, _xdg_popup: *mut defines::xdg_popup) {","highlight_start":62,"highlight_end":71}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:11124:62\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m11124\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mextern \"C\" fn popup_done(data: *mut c_void, _xdg_popup: *mut defines::xdg_popup) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m11124\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mextern \"C\" fn popup_done(data: *mut c_void, _xdg_popup: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxdg_popup) {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m11124\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mextern \"C\" fn popup_done(data: *mut c_void, _xdg_popup: *mut xdg_popup) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":2423,"byte_end":2445,"line_start":68,"line_end":68,"column_start":17,"column_end":39,"is_primary":true,"text":[{"text":" std::mem::size_of::(),","highlight_start":17,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":2423,"byte_end":2433,"line_start":68,"line_end":68,"column_start":17,"column_end":27,"is_primary":true,"text":[{"text":" std::mem::size_of::(),","highlight_start":17,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/dlopen.rs:68:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m68\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::size_of::(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m68\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mstd::mem::\u001b[0m\u001b[0msize_of::(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m68\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m size_of::(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":2465,"byte_end":2497,"line_start":69,"line_end":69,"column_start":17,"column_end":49,"is_primary":true,"text":[{"text":" std::mem::size_of::<*mut c_void>(),","highlight_start":17,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":2465,"byte_end":2475,"line_start":69,"line_end":69,"column_start":17,"column_end":27,"is_primary":true,"text":[{"text":" std::mem::size_of::<*mut c_void>(),","highlight_start":17,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/dlopen.rs:69:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m69\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::size_of::<*mut c_void>(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m69\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mstd::mem::\u001b[0m\u001b[0msize_of::<*mut c_void>(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m69\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m size_of::<*mut c_void>(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":5587,"byte_end":5620,"line_start":153,"line_end":153,"column_start":35,"column_end":68,"is_primary":true,"text":[{"text":" pub XkbQueryExtension: Option,","highlight_start":35,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":5587,"byte_end":5603,"line_start":153,"line_end":153,"column_start":35,"column_end":51,"is_primary":true,"text":[{"text":" pub XkbQueryExtension: Option,","highlight_start":35,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/dlopen.rs:153:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m153\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub XkbQueryExtension: Option,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m153\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub XkbQueryExtension: Option<\u001b[0m\u001b[0m\u001b[38;5;9msuper::defines::\u001b[0m\u001b[0mXkbQueryExtension>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m153\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub XkbQueryExtension: Option,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":5882,"byte_end":5913,"line_start":157,"line_end":157,"column_start":33,"column_end":64,"is_primary":true,"text":[{"text":" pub XkbSelectEvents: Option,","highlight_start":33,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":5882,"byte_end":5898,"line_start":157,"line_end":157,"column_start":33,"column_end":49,"is_primary":true,"text":[{"text":" pub XkbSelectEvents: Option,","highlight_start":33,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/dlopen.rs:157:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m157\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub XkbSelectEvents: Option,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m157\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub XkbSelectEvents: Option<\u001b[0m\u001b[0m\u001b[38;5;9msuper::defines::\u001b[0m\u001b[0mXkbSelectEvents>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m157\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub XkbSelectEvents: Option,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":12142,"byte_end":12175,"line_start":268,"line_end":268,"column_start":34,"column_end":67,"is_primary":true,"text":[{"text":" lib.get_symbol::(\"XkbQueryExtension\")","highlight_start":34,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":12142,"byte_end":12158,"line_start":268,"line_end":268,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" lib.get_symbol::(\"XkbQueryExtension\")","highlight_start":34,"highlight_end":50}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/dlopen.rs:268:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m268\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m lib.get_symbol::(\"XkbQueryExtension\")\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m268\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m lib.get_symbol::<\u001b[0m\u001b[0m\u001b[38;5;9msuper::defines::\u001b[0m\u001b[0mXkbQueryExtension>(\"XkbQueryExtension\")\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m268\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m lib.get_symbol::(\"XkbQueryExtension\")\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":12310,"byte_end":12341,"line_start":272,"line_end":272,"column_start":34,"column_end":65,"is_primary":true,"text":[{"text":" lib.get_symbol::(\"XkbSelectEvents\")","highlight_start":34,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":12310,"byte_end":12326,"line_start":272,"line_end":272,"column_start":34,"column_end":50,"is_primary":true,"text":[{"text":" lib.get_symbol::(\"XkbSelectEvents\")","highlight_start":34,"highlight_end":50}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/dlopen.rs:272:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m272\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m lib.get_symbol::(\"XkbSelectEvents\")\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m272\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m lib.get_symbol::<\u001b[0m\u001b[0m\u001b[38;5;9msuper::defines::\u001b[0m\u001b[0mXkbSelectEvents>(\"XkbSelectEvents\")\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m272\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m lib.get_symbol::(\"XkbSelectEvents\")\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":19245,"byte_end":19262,"line_start":418,"line_end":418,"column_start":60,"column_end":77,"is_primary":true,"text":[{"text":" Option i32>,","highlight_start":60,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":19245,"byte_end":19256,"line_start":418,"line_end":418,"column_start":60,"column_end":71,"is_primary":true,"text":[{"text":" Option i32>,","highlight_start":60,"highlight_end":71}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/dlopen.rs:418:60\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m418\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Option i32>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m418\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m Option i32>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m418\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m Option i32>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":19682,"byte_end":19699,"line_start":424,"line_end":424,"column_start":56,"column_end":73,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn(*mut xkb_state, u32, *mut core::ffi::c_char, usize) -> i32,","highlight_start":56,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":19682,"byte_end":19693,"line_start":424,"line_end":424,"column_start":56,"column_end":67,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn(*mut xkb_state, u32, *mut core::ffi::c_char, usize) -> i32,","highlight_start":56,"highlight_end":67}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/dlopen.rs:424:56\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m424\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut xkb_state, u32, *mut core::ffi::c_char, usize) -> i32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m424\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut xkb_state, u32, *mut \u001b[0m\u001b[0m\u001b[38;5;9mcore::ffi::\u001b[0m\u001b[0mc_char, usize) -> i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m424\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut xkb_state, u32, *mut c_char, usize) -> i32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":21725,"byte_end":21741,"line_start":458,"line_end":458,"column_start":53,"column_end":69,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn(*mut xkb_context, *mut std::ffi::c_void, i32, u32) -> *mut xkb_keymap,","highlight_start":53,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":21725,"byte_end":21735,"line_start":458,"line_end":458,"column_start":53,"column_end":63,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn(*mut xkb_context, *mut std::ffi::c_void, i32, u32) -> *mut xkb_keymap,","highlight_start":53,"highlight_end":63}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/dlopen.rs:458:53\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m458\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut xkb_context, *mut std::ffi::c_void, i32, u32) -> *mut xkb_keymap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m458\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut xkb_context, *mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void, i32, u32) -> *mut xkb_keymap,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m458\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut xkb_context, *mut c_void, i32, u32) -> *mut xkb_keymap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":21928,"byte_end":21944,"line_start":461,"line_end":461,"column_start":52,"column_end":68,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn(*mut xkb_keymap, *mut std::ffi::c_void, i32) -> *mut xkb_state,","highlight_start":52,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":21928,"byte_end":21938,"line_start":461,"line_end":461,"column_start":52,"column_end":62,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn(*mut xkb_keymap, *mut std::ffi::c_void, i32) -> *mut xkb_state,","highlight_start":52,"highlight_end":62}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/dlopen.rs:461:52\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m461\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut xkb_keymap, *mut std::ffi::c_void, i32) -> *mut xkb_state,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m461\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut xkb_keymap, *mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void, i32) -> *mut xkb_state,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m461\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m unsafe extern \"C\" fn(*mut xkb_keymap, *mut c_void, i32) -> *mut xkb_state,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":22124,"byte_end":22140,"line_start":463,"line_end":463,"column_start":74,"column_end":90,"is_primary":true,"text":[{"text":" pub x_get_xcb_connection: unsafe extern \"C\" fn(*mut Display) -> *mut std::ffi::c_void,","highlight_start":74,"highlight_end":90}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":22124,"byte_end":22134,"line_start":463,"line_end":463,"column_start":74,"column_end":84,"is_primary":true,"text":[{"text":" pub x_get_xcb_connection: unsafe extern \"C\" fn(*mut Display) -> *mut std::ffi::c_void,","highlight_start":74,"highlight_end":84}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/dlopen.rs:463:74\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub x_get_xcb_connection: unsafe extern \"C\" fn(*mut Display) -> *mut std::ffi::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub x_get_xcb_connection: unsafe extern \"C\" fn(*mut Display) -> *mut \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub x_get_xcb_connection: unsafe extern \"C\" fn(*mut Display) -> *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":45164,"byte_end":45196,"line_start":1045,"line_end":1045,"column_start":38,"column_end":70,"is_primary":true,"text":[{"text":" .map(std::string::ToString::to_string);","highlight_start":38,"highlight_end":70}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":45164,"byte_end":45177,"line_start":1045,"line_end":1045,"column_start":38,"column_end":51,"is_primary":true,"text":[{"text":" .map(std::string::ToString::to_string);","highlight_start":38,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:1045:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1045\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m .map(std::string::ToString::to_string);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1045\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m .map(\u001b[0m\u001b[0m\u001b[38;5;9mstd::string::\u001b[0m\u001b[0mToString::to_string);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1045\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m .map(ToString::to_string);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":68789,"byte_end":68826,"line_start":1543,"line_end":1543,"column_start":17,"column_end":54,"is_primary":true,"text":[{"text":" azul_core::geom::LogicalPosition::new(pos.x as f32, pos.y as f32)","highlight_start":17,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":68789,"byte_end":68806,"line_start":1543,"line_end":1543,"column_start":17,"column_end":34,"is_primary":true,"text":[{"text":" azul_core::geom::LogicalPosition::new(pos.x as f32, pos.y as f32)","highlight_start":17,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:1543:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1543\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m azul_core::geom::LogicalPosition::new(pos.x as f32, pos.y as f32)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1543\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition::new(pos.x as f32, pos.y as f32)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1543\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogicalPosition::new(pos.x as f32, pos.y as f32)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":68886,"byte_end":68923,"line_start":1545,"line_end":1545,"column_start":18,"column_end":55,"is_primary":true,"text":[{"text":" _ => azul_core::geom::LogicalPosition::new(0.0, 0.0),","highlight_start":18,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":68886,"byte_end":68903,"line_start":1545,"line_end":1545,"column_start":18,"column_end":35,"is_primary":true,"text":[{"text":" _ => azul_core::geom::LogicalPosition::new(0.0, 0.0),","highlight_start":18,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:1545:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1545\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m _ => azul_core::geom::LogicalPosition::new(0.0, 0.0),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1545\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m _ => \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition::new(0.0, 0.0),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1545\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m _ => LogicalPosition::new(0.0, 0.0),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/tooltip.rs","byte_start":1430,"byte_end":1452,"line_start":38,"line_end":38,"column_start":19,"column_end":41,"is_primary":true,"text":[{"text":" display: *mut super::dlopen::Display,","highlight_start":19,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/tooltip.rs","byte_start":1430,"byte_end":1445,"line_start":38,"line_end":38,"column_start":19,"column_end":34,"is_primary":true,"text":[{"text":" display: *mut super::dlopen::Display,","highlight_start":19,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/tooltip.rs:38:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m38\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m display: *mut super::dlopen::Display,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m38\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m display: *mut \u001b[0m\u001b[0m\u001b[38;5;9msuper::dlopen::\u001b[0m\u001b[0mDisplay,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m38\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m display: *mut Display,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/tooltip.rs","byte_start":1496,"byte_end":1517,"line_start":40,"line_end":40,"column_start":13,"column_end":34,"is_primary":true,"text":[{"text":" window: super::dlopen::Window,","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/tooltip.rs","byte_start":1496,"byte_end":1511,"line_start":40,"line_end":40,"column_start":13,"column_end":28,"is_primary":true,"text":[{"text":" window: super::dlopen::Window,","highlight_start":13,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/tooltip.rs:40:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m40\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: super::dlopen::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m40\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m window: \u001b[0m\u001b[0m\u001b[38;5;9msuper::dlopen::\u001b[0m\u001b[0mWindow,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m40\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m window: Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/tooltip.rs","byte_start":1569,"byte_end":1586,"line_start":42,"line_end":42,"column_start":9,"column_end":26,"is_primary":true,"text":[{"text":" gc: super::dlopen::GC,","highlight_start":9,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/tooltip.rs","byte_start":1569,"byte_end":1584,"line_start":42,"line_end":42,"column_start":9,"column_end":24,"is_primary":true,"text":[{"text":" gc: super::dlopen::GC,","highlight_start":9,"highlight_end":24}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/tooltip.rs:42:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m42\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m gc: super::dlopen::GC,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m42\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m gc: \u001b[0m\u001b[0m\u001b[38;5;9msuper::dlopen::\u001b[0m\u001b[0mGC,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m42\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m gc: GC,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/tooltip.rs","byte_start":1967,"byte_end":1989,"line_start":54,"line_end":54,"column_start":46,"column_end":68,"is_primary":true,"text":[{"text":" pub fn new(xlib: Rc, display: *mut super::dlopen::Display) -> Result {","highlight_start":46,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/tooltip.rs","byte_start":1967,"byte_end":1982,"line_start":54,"line_end":54,"column_start":46,"column_end":61,"is_primary":true,"text":[{"text":" pub fn new(xlib: Rc, display: *mut super::dlopen::Display) -> Result {","highlight_start":46,"highlight_end":61}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/tooltip.rs:54:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m54\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub fn new(xlib: Rc, display: *mut super::dlopen::Display) -> Result {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m54\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub fn new(xlib: Rc, display: *mut \u001b[0m\u001b[0m\u001b[38;5;9msuper::dlopen::\u001b[0m\u001b[0mDisplay) -> Result {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m54\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub fn new(xlib: Rc, display: *mut Display) -> Result {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/tooltip.rs","byte_start":2288,"byte_end":2323,"line_start":61,"line_end":61,"column_start":33,"column_end":68,"is_primary":true,"text":[{"text":" let mut attributes: super::dlopen::XSetWindowAttributes = std::mem::zeroed();","highlight_start":33,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/tooltip.rs","byte_start":2288,"byte_end":2303,"line_start":61,"line_end":61,"column_start":33,"column_end":48,"is_primary":true,"text":[{"text":" let mut attributes: super::dlopen::XSetWindowAttributes = std::mem::zeroed();","highlight_start":33,"highlight_end":48}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/tooltip.rs:61:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut attributes: super::dlopen::XSetWindowAttributes = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut attributes: \u001b[0m\u001b[0m\u001b[38;5;9msuper::dlopen::\u001b[0m\u001b[0mXSetWindowAttributes = std::mem::zeroed();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m61\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut attributes: XSetWindowAttributes = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":2872,"byte_end":2893,"line_start":85,"line_end":85,"column_start":30,"column_end":51,"is_primary":true,"text":[{"text":"const CPU_FALLBACK_BG_COLOR: std::os::raw::c_ulong = 0x0000FF;","highlight_start":30,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":2872,"byte_end":2886,"line_start":85,"line_end":85,"column_start":30,"column_end":44,"is_primary":true,"text":[{"text":"const CPU_FALLBACK_BG_COLOR: std::os::raw::c_ulong = 0x0000FF;","highlight_start":30,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:85:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m85\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mconst CPU_FALLBACK_BG_COLOR: std::os::raw::c_ulong = 0x0000FF;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m85\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mconst CPU_FALLBACK_BG_COLOR: \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_ulong = 0x0000FF;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m85\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mconst CPU_FALLBACK_BG_COLOR: c_ulong = 0x0000FF;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":12388,"byte_end":12404,"line_start":331,"line_end":331,"column_start":19,"column_end":35,"is_primary":true,"text":[{"text":" display: *mut defines::Display,","highlight_start":19,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":12388,"byte_end":12397,"line_start":331,"line_end":331,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" display: *mut defines::Display,","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:331:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m331\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m display: *mut defines::Display,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m331\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m display: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mDisplay,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m331\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m display: *mut Display,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":12418,"byte_end":12433,"line_start":332,"line_end":332,"column_start":13,"column_end":28,"is_primary":true,"text":[{"text":" window: defines::Window,","highlight_start":13,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":12418,"byte_end":12427,"line_start":332,"line_end":332,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" window: defines::Window,","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:332:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m332\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: defines::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m332\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m window: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mWindow,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m332\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m window: Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":13534,"byte_end":13554,"line_start":374,"line_end":374,"column_start":9,"column_end":29,"is_primary":true,"text":[{"text":" defines::XA_CARDINAL,","highlight_start":9,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":13534,"byte_end":13543,"line_start":374,"line_end":374,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" defines::XA_CARDINAL,","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:374:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m374\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XA_CARDINAL,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m374\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXA_CARDINAL,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m374\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XA_CARDINAL,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":13576,"byte_end":13600,"line_start":376,"line_end":376,"column_start":9,"column_end":33,"is_primary":true,"text":[{"text":" defines::PropModeReplace,","highlight_start":9,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":13576,"byte_end":13585,"line_start":376,"line_end":376,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" defines::PropModeReplace,","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:376:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m376\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::PropModeReplace,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m376\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mPropModeReplace,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m376\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m PropModeReplace,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":14251,"byte_end":14267,"line_start":392,"line_end":392,"column_start":19,"column_end":35,"is_primary":true,"text":[{"text":" display: *mut defines::Display,","highlight_start":19,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":14251,"byte_end":14260,"line_start":392,"line_end":392,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" display: *mut defines::Display,","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:392:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m392\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m display: *mut defines::Display,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m392\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m display: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mDisplay,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m392\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m display: *mut Display,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":14281,"byte_end":14296,"line_start":393,"line_end":393,"column_start":13,"column_end":28,"is_primary":true,"text":[{"text":" window: defines::Window,","highlight_start":13,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":14281,"byte_end":14290,"line_start":393,"line_end":393,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" window: defines::Window,","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:393:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: defines::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m window: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mWindow,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m window: Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":15507,"byte_end":15531,"line_start":432,"line_end":432,"column_start":9,"column_end":33,"is_primary":true,"text":[{"text":" defines::PropModeReplace,","highlight_start":9,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":15507,"byte_end":15516,"line_start":432,"line_end":432,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" defines::PropModeReplace,","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:432:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m432\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::PropModeReplace,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m432\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mPropModeReplace,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m432\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m PropModeReplace,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":21166,"byte_end":21185,"line_start":590,"line_end":590,"column_start":17,"column_end":36,"is_primary":true,"text":[{"text":" timeout_ms: std::os::raw::c_int,","highlight_start":17,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":21166,"byte_end":21180,"line_start":590,"line_end":590,"column_start":17,"column_end":31,"is_primary":true,"text":[{"text":" timeout_ms: std::os::raw::c_int,","highlight_start":17,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:590:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m590\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m timeout_ms: std::os::raw::c_int,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m590\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m timeout_ms: \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_int,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m590\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m timeout_ms: c_int,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":21266,"byte_end":21285,"line_start":593,"line_end":593,"column_start":6,"column_end":25,"is_primary":true,"text":[{"text":") -> std::os::raw::c_int {","highlight_start":6,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":21266,"byte_end":21280,"line_start":593,"line_end":593,"column_start":6,"column_end":20,"is_primary":true,"text":[{"text":") -> std::os::raw::c_int {","highlight_start":6,"highlight_end":20}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:593:6\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m593\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> std::os::raw::c_int {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m593\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m) -> \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_int {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m593\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m) -> c_int {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":21682,"byte_end":21701,"line_start":601,"line_end":601,"column_start":71,"column_end":90,"is_primary":true,"text":[{"text":" let deadline_ms = (remaining.as_millis().min(i32::MAX as u128) as std::os::raw::c_int).max(1);","highlight_start":71,"highlight_end":90}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":21682,"byte_end":21696,"line_start":601,"line_end":601,"column_start":71,"column_end":85,"is_primary":true,"text":[{"text":" let deadline_ms = (remaining.as_millis().min(i32::MAX as u128) as std::os::raw::c_int).max(1);","highlight_start":71,"highlight_end":85}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:601:71\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let deadline_ms = (remaining.as_millis().min(i32::MAX as u128) as std::os::raw::c_int).max(1);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let deadline_ms = (remaining.as_millis().min(i32::MAX as u128) as \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_int).max(1);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let deadline_ms = (remaining.as_millis().min(i32::MAX as u128) as c_int).max(1);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":23853,"byte_end":23872,"line_start":658,"line_end":658,"column_start":13,"column_end":32,"is_primary":true,"text":[{"text":" queued: std::os::raw::c_int,","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":23853,"byte_end":23867,"line_start":658,"line_end":658,"column_start":13,"column_end":27,"is_primary":true,"text":[{"text":" queued: std::os::raw::c_int,","highlight_start":13,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:658:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m658\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m queued: std::os::raw::c_int,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m658\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m queued: \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_int,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m658\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m queued: c_int,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":29723,"byte_end":29736,"line_start":822,"line_end":822,"column_start":11,"column_end":24,"is_primary":true,"text":[{"text":" prop: defines::Atom,","highlight_start":11,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":29723,"byte_end":29732,"line_start":822,"line_end":822,"column_start":11,"column_end":20,"is_primary":true,"text":[{"text":" prop: defines::Atom,","highlight_start":11,"highlight_end":20}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:822:11\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m822\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m prop: defines::Atom,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m822\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m prop: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mAtom,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m822\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m prop: Atom,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":29838,"byte_end":29851,"line_start":827,"line_end":827,"column_start":23,"column_end":36,"is_primary":true,"text":[{"text":" let mut type_ret: defines::Atom = 0;","highlight_start":23,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":29838,"byte_end":29847,"line_start":827,"line_end":827,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" let mut type_ret: defines::Atom = 0;","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:827:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m827\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut type_ret: defines::Atom = 0;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m827\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut type_ret: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mAtom = 0;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m827\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut type_ret: Atom = 0;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":29905,"byte_end":29926,"line_start":829,"line_end":829,"column_start":21,"column_end":42,"is_primary":true,"text":[{"text":" let mut nitems: std::os::raw::c_ulong = 0;","highlight_start":21,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":29905,"byte_end":29919,"line_start":829,"line_end":829,"column_start":21,"column_end":35,"is_primary":true,"text":[{"text":" let mut nitems: std::os::raw::c_ulong = 0;","highlight_start":21,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:829:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m829\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut nitems: std::os::raw::c_ulong = 0;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m829\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut nitems: \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_ulong = 0;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m829\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut nitems: c_ulong = 0;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":29951,"byte_end":29972,"line_start":830,"line_end":830,"column_start":20,"column_end":41,"is_primary":true,"text":[{"text":" let mut after: std::os::raw::c_ulong = 0;","highlight_start":20,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":29951,"byte_end":29965,"line_start":830,"line_end":830,"column_start":20,"column_end":34,"is_primary":true,"text":[{"text":" let mut after: std::os::raw::c_ulong = 0;","highlight_start":20,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:830:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m830\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut after: std::os::raw::c_ulong = 0;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m830\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut after: \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_ulong = 0;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m830\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut after: c_ulong = 0;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":33692,"byte_end":33715,"line_start":934,"line_end":934,"column_start":13,"column_end":36,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress,","highlight_start":13,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":33692,"byte_end":33701,"line_start":934,"line_end":934,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress,","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:934:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m934\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_ButtonPress,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m934\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_ButtonPress,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m934\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_ButtonPress,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":33729,"byte_end":33754,"line_start":935,"line_end":935,"column_start":13,"column_end":38,"is_primary":true,"text":[{"text":" defines::XI_ButtonRelease,","highlight_start":13,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":33729,"byte_end":33738,"line_start":935,"line_end":935,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::XI_ButtonRelease,","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:935:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m935\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_ButtonRelease,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m935\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_ButtonRelease,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m935\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_ButtonRelease,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":33768,"byte_end":33786,"line_start":936,"line_end":936,"column_start":13,"column_end":31,"is_primary":true,"text":[{"text":" defines::XI_Motion,","highlight_start":13,"highlight_end":31}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":33768,"byte_end":33777,"line_start":936,"line_end":936,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::XI_Motion,","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:936:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m936\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_Motion,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m936\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_Motion,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m936\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_Motion,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":33800,"byte_end":33822,"line_start":937,"line_end":937,"column_start":13,"column_end":35,"is_primary":true,"text":[{"text":" defines::XI_TouchBegin,","highlight_start":13,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":33800,"byte_end":33809,"line_start":937,"line_end":937,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::XI_TouchBegin,","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:937:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m937\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_TouchBegin,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m937\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_TouchBegin,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m937\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_TouchBegin,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":33836,"byte_end":33859,"line_start":938,"line_end":938,"column_start":13,"column_end":36,"is_primary":true,"text":[{"text":" defines::XI_TouchUpdate,","highlight_start":13,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":33836,"byte_end":33845,"line_start":938,"line_end":938,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::XI_TouchUpdate,","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:938:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m938\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_TouchUpdate,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m938\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_TouchUpdate,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m938\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_TouchUpdate,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":33873,"byte_end":33893,"line_start":939,"line_end":939,"column_start":13,"column_end":33,"is_primary":true,"text":[{"text":" defines::XI_TouchEnd,","highlight_start":13,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":33873,"byte_end":33882,"line_start":939,"line_end":939,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::XI_TouchEnd,","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:939:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m939\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_TouchEnd,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m939\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_TouchEnd,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m939\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_TouchEnd,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":34216,"byte_end":34236,"line_start":944,"line_end":944,"column_start":13,"column_end":33,"is_primary":true,"text":[{"text":" defines::XI_KeyPress,","highlight_start":13,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":34216,"byte_end":34225,"line_start":944,"line_end":944,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::XI_KeyPress,","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:944:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m944\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_KeyPress,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m944\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_KeyPress,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m944\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_KeyPress,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":34250,"byte_end":34272,"line_start":945,"line_end":945,"column_start":13,"column_end":35,"is_primary":true,"text":[{"text":" defines::XI_KeyRelease,","highlight_start":13,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":34250,"byte_end":34259,"line_start":945,"line_end":945,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::XI_KeyRelease,","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:945:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m945\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_KeyRelease,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m945\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_KeyRelease,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m945\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_KeyRelease,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":34374,"byte_end":34394,"line_start":949,"line_end":949,"column_start":26,"column_end":46,"is_primary":true,"text":[{"text":" let mut evmask = defines::XIEventMask {","highlight_start":26,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":34374,"byte_end":34383,"line_start":949,"line_end":949,"column_start":26,"column_end":35,"is_primary":true,"text":[{"text":" let mut evmask = defines::XIEventMask {","highlight_start":26,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:949:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m949\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut evmask = defines::XIEventMask {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m949\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut evmask = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIEventMask {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m949\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut evmask = XIEventMask {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":34419,"byte_end":34446,"line_start":950,"line_end":950,"column_start":23,"column_end":50,"is_primary":true,"text":[{"text":" deviceid: defines::XIAllMasterDevices,","highlight_start":23,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":34419,"byte_end":34428,"line_start":950,"line_end":950,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" deviceid: defines::XIAllMasterDevices,","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:950:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m950\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m deviceid: defines::XIAllMasterDevices,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m950\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m deviceid: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIAllMasterDevices,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m950\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m deviceid: XIAllMasterDevices,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35021,"byte_end":35049,"line_start":963,"line_end":963,"column_start":16,"column_end":44,"is_primary":true,"text":[{"text":" hmask[(defines::XI_HierarchyChanged >> 3) as usize] |=","highlight_start":16,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35021,"byte_end":35030,"line_start":963,"line_end":963,"column_start":16,"column_end":25,"is_primary":true,"text":[{"text":" hmask[(defines::XI_HierarchyChanged >> 3) as usize] |=","highlight_start":16,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:963:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m963\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m hmask[(defines::XI_HierarchyChanged >> 3) as usize] |=\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m963\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m hmask[(\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_HierarchyChanged >> 3) as usize] |=\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m963\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m hmask[(XI_HierarchyChanged >> 3) as usize] |=\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35087,"byte_end":35115,"line_start":964,"line_end":964,"column_start":19,"column_end":47,"is_primary":true,"text":[{"text":" 1 << (defines::XI_HierarchyChanged & 7);","highlight_start":19,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35087,"byte_end":35096,"line_start":964,"line_end":964,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" 1 << (defines::XI_HierarchyChanged & 7);","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:964:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m964\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 1 << (defines::XI_HierarchyChanged & 7);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m964\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m 1 << (\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_HierarchyChanged & 7);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m964\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m 1 << (XI_HierarchyChanged & 7);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35148,"byte_end":35168,"line_start":965,"line_end":965,"column_start":27,"column_end":47,"is_primary":true,"text":[{"text":" let mut hevmask = defines::XIEventMask {","highlight_start":27,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35148,"byte_end":35157,"line_start":965,"line_end":965,"column_start":27,"column_end":36,"is_primary":true,"text":[{"text":" let mut hevmask = defines::XIEventMask {","highlight_start":27,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:965:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m965\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut hevmask = defines::XIEventMask {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m965\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut hevmask = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIEventMask {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m965\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut hevmask = XIEventMask {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35193,"byte_end":35214,"line_start":966,"line_end":966,"column_start":23,"column_end":44,"is_primary":true,"text":[{"text":" deviceid: defines::XIAllDevices,","highlight_start":23,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35193,"byte_end":35202,"line_start":966,"line_end":966,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" deviceid: defines::XIAllDevices,","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:966:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m966\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m deviceid: defines::XIAllDevices,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m966\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m deviceid: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIAllDevices,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m966\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m deviceid: XIAllDevices,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35658,"byte_end":35679,"line_start":976,"line_end":976,"column_start":16,"column_end":37,"is_primary":true,"text":[{"text":" rmask[(defines::XI_RawMotion >> 3) as usize] |= 1 << (defines::XI_RawMotion & 7);","highlight_start":16,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35658,"byte_end":35667,"line_start":976,"line_end":976,"column_start":16,"column_end":25,"is_primary":true,"text":[{"text":" rmask[(defines::XI_RawMotion >> 3) as usize] |= 1 << (defines::XI_RawMotion & 7);","highlight_start":16,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:976:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m976\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m rmask[(defines::XI_RawMotion >> 3) as usize] |= 1 << (defines::XI_RawMotion & 7);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m976\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m rmask[(\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_RawMotion >> 3) as usize] |= 1 << (defines::XI_RawMotion & 7);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m976\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m rmask[(XI_RawMotion >> 3) as usize] |= 1 << (defines::XI_RawMotion & 7);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35705,"byte_end":35726,"line_start":976,"line_end":976,"column_start":63,"column_end":84,"is_primary":true,"text":[{"text":" rmask[(defines::XI_RawMotion >> 3) as usize] |= 1 << (defines::XI_RawMotion & 7);","highlight_start":63,"highlight_end":84}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35705,"byte_end":35714,"line_start":976,"line_end":976,"column_start":63,"column_end":72,"is_primary":true,"text":[{"text":" rmask[(defines::XI_RawMotion >> 3) as usize] |= 1 << (defines::XI_RawMotion & 7);","highlight_start":63,"highlight_end":72}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:976:63\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m976\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m rmask[(defines::XI_RawMotion >> 3) as usize] |= 1 << (defines::XI_RawMotion & 7);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m976\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m rmask[(defines::XI_RawMotion >> 3) as usize] |= 1 << (\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_RawMotion & 7);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m976\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m rmask[(defines::XI_RawMotion >> 3) as usize] |= 1 << (XI_RawMotion & 7);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35759,"byte_end":35779,"line_start":977,"line_end":977,"column_start":27,"column_end":47,"is_primary":true,"text":[{"text":" let mut revmask = defines::XIEventMask {","highlight_start":27,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35759,"byte_end":35768,"line_start":977,"line_end":977,"column_start":27,"column_end":36,"is_primary":true,"text":[{"text":" let mut revmask = defines::XIEventMask {","highlight_start":27,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:977:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m977\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut revmask = defines::XIEventMask {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m977\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut revmask = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIEventMask {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m977\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut revmask = XIEventMask {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35804,"byte_end":35831,"line_start":978,"line_end":978,"column_start":23,"column_end":50,"is_primary":true,"text":[{"text":" deviceid: defines::XIAllMasterDevices,","highlight_start":23,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":35804,"byte_end":35813,"line_start":978,"line_end":978,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" deviceid: defines::XIAllMasterDevices,","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:978:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m978\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m deviceid: defines::XIAllMasterDevices,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m978\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m deviceid: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIAllMasterDevices,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m978\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m deviceid: XIAllMasterDevices,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36516,"byte_end":36545,"line_start":993,"line_end":993,"column_start":17,"column_end":46,"is_primary":true,"text":[{"text":" defines::XI_GesturePinchBegin,","highlight_start":17,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36516,"byte_end":36525,"line_start":993,"line_end":993,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::XI_GesturePinchBegin,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:993:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m993\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_GesturePinchBegin,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m993\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GesturePinchBegin,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m993\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_GesturePinchBegin,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36563,"byte_end":36593,"line_start":994,"line_end":994,"column_start":17,"column_end":47,"is_primary":true,"text":[{"text":" defines::XI_GesturePinchUpdate,","highlight_start":17,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36563,"byte_end":36572,"line_start":994,"line_end":994,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::XI_GesturePinchUpdate,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:994:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m994\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_GesturePinchUpdate,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m994\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GesturePinchUpdate,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m994\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_GesturePinchUpdate,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36611,"byte_end":36638,"line_start":995,"line_end":995,"column_start":17,"column_end":44,"is_primary":true,"text":[{"text":" defines::XI_GesturePinchEnd,","highlight_start":17,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36611,"byte_end":36620,"line_start":995,"line_end":995,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::XI_GesturePinchEnd,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:995:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m995\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_GesturePinchEnd,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m995\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GesturePinchEnd,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m995\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_GesturePinchEnd,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36656,"byte_end":36685,"line_start":996,"line_end":996,"column_start":17,"column_end":46,"is_primary":true,"text":[{"text":" defines::XI_GestureSwipeBegin,","highlight_start":17,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36656,"byte_end":36665,"line_start":996,"line_end":996,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::XI_GestureSwipeBegin,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:996:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m996\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_GestureSwipeBegin,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m996\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GestureSwipeBegin,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m996\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_GestureSwipeBegin,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36703,"byte_end":36733,"line_start":997,"line_end":997,"column_start":17,"column_end":47,"is_primary":true,"text":[{"text":" defines::XI_GestureSwipeUpdate,","highlight_start":17,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36703,"byte_end":36712,"line_start":997,"line_end":997,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::XI_GestureSwipeUpdate,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:997:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m997\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_GestureSwipeUpdate,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m997\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GestureSwipeUpdate,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m997\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_GestureSwipeUpdate,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36751,"byte_end":36778,"line_start":998,"line_end":998,"column_start":17,"column_end":44,"is_primary":true,"text":[{"text":" defines::XI_GestureSwipeEnd,","highlight_start":17,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36751,"byte_end":36760,"line_start":998,"line_end":998,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::XI_GestureSwipeEnd,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:998:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m998\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_GestureSwipeEnd,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m998\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GestureSwipeEnd,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m998\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_GestureSwipeEnd,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36898,"byte_end":36918,"line_start":1002,"line_end":1002,"column_start":31,"column_end":51,"is_primary":true,"text":[{"text":" let mut gevmask = defines::XIEventMask {","highlight_start":31,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36898,"byte_end":36907,"line_start":1002,"line_end":1002,"column_start":31,"column_end":40,"is_primary":true,"text":[{"text":" let mut gevmask = defines::XIEventMask {","highlight_start":31,"highlight_end":40}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1002:31\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1002\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut gevmask = defines::XIEventMask {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1002\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut gevmask = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIEventMask {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1002\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut gevmask = XIEventMask {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36947,"byte_end":36974,"line_start":1003,"line_end":1003,"column_start":27,"column_end":54,"is_primary":true,"text":[{"text":" deviceid: defines::XIAllMasterDevices,","highlight_start":27,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":36947,"byte_end":36956,"line_start":1003,"line_end":1003,"column_start":27,"column_end":36,"is_primary":true,"text":[{"text":" deviceid: defines::XIAllMasterDevices,","highlight_start":27,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1003:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1003\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m deviceid: defines::XIAllMasterDevices,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1003\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m deviceid: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIAllMasterDevices,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1003\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m deviceid: XIAllMasterDevices,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":39570,"byte_end":39591,"line_start":1042,"line_end":1042,"column_start":48,"column_end":69,"is_primary":true,"text":[{"text":" let devs = (xi.XIQueryDevice)(display, defines::XIAllDevices, &mut ndev);","highlight_start":48,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":39570,"byte_end":39579,"line_start":1042,"line_end":1042,"column_start":48,"column_end":57,"is_primary":true,"text":[{"text":" let devs = (xi.XIQueryDevice)(display, defines::XIAllDevices, &mut ndev);","highlight_start":48,"highlight_end":57}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1042:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1042\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let devs = (xi.XIQueryDevice)(display, defines::XIAllDevices, &mut ndev);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1042\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let devs = (xi.XIQueryDevice)(display, \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIAllDevices, &mut ndev);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1042\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let devs = (xi.XIQueryDevice)(display, XIAllDevices, &mut ndev);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":40184,"byte_end":40208,"line_start":1053,"line_end":1053,"column_start":21,"column_end":45,"is_primary":true,"text":[{"text":" std::ffi::CStr::from_ptr(dev.name)","highlight_start":21,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":40184,"byte_end":40194,"line_start":1053,"line_end":1053,"column_start":21,"column_end":31,"is_primary":true,"text":[{"text":" std::ffi::CStr::from_ptr(dev.name)","highlight_start":21,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1053:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1053\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ffi::CStr::from_ptr(dev.name)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1053\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mCStr::from_ptr(dev.name)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1053\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m CStr::from_ptr(dev.name)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":41183,"byte_end":41204,"line_start":1073,"line_end":1073,"column_start":40,"column_end":61,"is_primary":true,"text":[{"text":" if (*cls).type_ == defines::XITouchClass {","highlight_start":40,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":41183,"byte_end":41192,"line_start":1073,"line_end":1073,"column_start":40,"column_end":49,"is_primary":true,"text":[{"text":" if (*cls).type_ == defines::XITouchClass {","highlight_start":40,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1073:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1073\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (*cls).type_ == defines::XITouchClass {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1073\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if (*cls).type_ == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXITouchClass {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1073\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if (*cls).type_ == XITouchClass {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":41350,"byte_end":41372,"line_start":1077,"line_end":1077,"column_start":40,"column_end":62,"is_primary":true,"text":[{"text":" if (*cls).type_ == defines::XIButtonClass {","highlight_start":40,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":41350,"byte_end":41359,"line_start":1077,"line_end":1077,"column_start":40,"column_end":49,"is_primary":true,"text":[{"text":" if (*cls).type_ == defines::XIButtonClass {","highlight_start":40,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1077:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1077\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (*cls).type_ == defines::XIButtonClass {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1077\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if (*cls).type_ == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIButtonClass {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1077\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if (*cls).type_ == XIButtonClass {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":41424,"byte_end":41450,"line_start":1078,"line_end":1078,"column_start":50,"column_end":76,"is_primary":true,"text":[{"text":" let b = &*(cls as *const defines::XIButtonClassInfo);","highlight_start":50,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":41424,"byte_end":41433,"line_start":1078,"line_end":1078,"column_start":50,"column_end":59,"is_primary":true,"text":[{"text":" let b = &*(cls as *const defines::XIButtonClassInfo);","highlight_start":50,"highlight_end":59}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1078:50\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1078\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let b = &*(cls as *const defines::XIButtonClassInfo);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1078\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let b = &*(cls as *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIButtonClassInfo);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1078\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let b = &*(cls as *const XIButtonClassInfo);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":41615,"byte_end":41637,"line_start":1082,"line_end":1082,"column_start":40,"column_end":62,"is_primary":true,"text":[{"text":" if (*cls).type_ == defines::XIScrollClass {","highlight_start":40,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":41615,"byte_end":41624,"line_start":1082,"line_end":1082,"column_start":40,"column_end":49,"is_primary":true,"text":[{"text":" if (*cls).type_ == defines::XIScrollClass {","highlight_start":40,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1082:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1082\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (*cls).type_ == defines::XIScrollClass {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1082\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if (*cls).type_ == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIScrollClass {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1082\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if (*cls).type_ == XIScrollClass {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":41978,"byte_end":42004,"line_start":1087,"line_end":1087,"column_start":50,"column_end":76,"is_primary":true,"text":[{"text":" let s = &*(cls as *const defines::XIScrollClassInfo);","highlight_start":50,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":41978,"byte_end":41987,"line_start":1087,"line_end":1087,"column_start":50,"column_end":59,"is_primary":true,"text":[{"text":" let s = &*(cls as *const defines::XIScrollClassInfo);","highlight_start":50,"highlight_end":59}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1087:50\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1087\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let s = &*(cls as *const defines::XIScrollClassInfo);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1087\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let s = &*(cls as *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIScrollClassInfo);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1087\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let s = &*(cls as *const XIScrollClassInfo);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":42051,"byte_end":42080,"line_start":1088,"line_end":1088,"column_start":45,"column_end":74,"is_primary":true,"text":[{"text":" if s.scroll_type == defines::XIScrollTypeVertical {","highlight_start":45,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":42051,"byte_end":42060,"line_start":1088,"line_end":1088,"column_start":45,"column_end":54,"is_primary":true,"text":[{"text":" if s.scroll_type == defines::XIScrollTypeVertical {","highlight_start":45,"highlight_end":54}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1088:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1088\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if s.scroll_type == defines::XIScrollTypeVertical {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1088\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if s.scroll_type == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIScrollTypeVertical {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1088\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if s.scroll_type == XIScrollTypeVertical {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":42205,"byte_end":42236,"line_start":1090,"line_end":1090,"column_start":52,"column_end":83,"is_primary":true,"text":[{"text":" } else if s.scroll_type == defines::XIScrollTypeHorizontal {","highlight_start":52,"highlight_end":83}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":42205,"byte_end":42214,"line_start":1090,"line_end":1090,"column_start":52,"column_end":61,"is_primary":true,"text":[{"text":" } else if s.scroll_type == defines::XIScrollTypeHorizontal {","highlight_start":52,"highlight_end":61}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1090:52\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1090\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m } else if s.scroll_type == defines::XIScrollTypeHorizontal {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1090\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m } else if s.scroll_type == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIScrollTypeHorizontal {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1090\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m } else if s.scroll_type == XIScrollTypeHorizontal {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":42432,"byte_end":42456,"line_start":1095,"line_end":1095,"column_start":40,"column_end":64,"is_primary":true,"text":[{"text":" if (*cls).type_ != defines::XIValuatorClass {","highlight_start":40,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":42432,"byte_end":42441,"line_start":1095,"line_end":1095,"column_start":40,"column_end":49,"is_primary":true,"text":[{"text":" if (*cls).type_ != defines::XIValuatorClass {","highlight_start":40,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1095:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1095\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (*cls).type_ != defines::XIValuatorClass {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1095\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if (*cls).type_ != \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIValuatorClass {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1095\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if (*cls).type_ != XIValuatorClass {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":42560,"byte_end":42588,"line_start":1098,"line_end":1098,"column_start":46,"column_end":74,"is_primary":true,"text":[{"text":" let v = &*(cls as *const defines::XIValuatorClassInfo);","highlight_start":46,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":42560,"byte_end":42569,"line_start":1098,"line_end":1098,"column_start":46,"column_end":55,"is_primary":true,"text":[{"text":" let v = &*(cls as *const defines::XIValuatorClassInfo);","highlight_start":46,"highlight_end":55}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1098:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1098\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let v = &*(cls as *const defines::XIValuatorClassInfo);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1098\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let v = &*(cls as *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIValuatorClassInfo);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1098\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let v = &*(cls as *const XIValuatorClassInfo);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":49193,"byte_end":49216,"line_start":1222,"line_end":1222,"column_start":25,"column_end":48,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress,","highlight_start":25,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":49193,"byte_end":49202,"line_start":1222,"line_end":1222,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress,","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1222:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1222\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_ButtonPress,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1222\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_ButtonPress,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1222\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_ButtonPress,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":49242,"byte_end":49267,"line_start":1223,"line_end":1223,"column_start":25,"column_end":50,"is_primary":true,"text":[{"text":" defines::XI_ButtonRelease,","highlight_start":25,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":49242,"byte_end":49251,"line_start":1223,"line_end":1223,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" defines::XI_ButtonRelease,","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1223:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1223\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_ButtonRelease,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1223\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_ButtonRelease,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1223\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_ButtonRelease,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":49293,"byte_end":49311,"line_start":1224,"line_end":1224,"column_start":25,"column_end":43,"is_primary":true,"text":[{"text":" defines::XI_Motion,","highlight_start":25,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":49293,"byte_end":49302,"line_start":1224,"line_end":1224,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" defines::XI_Motion,","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1224:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1224\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_Motion,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1224\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_Motion,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1224\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_Motion,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":49469,"byte_end":49489,"line_start":1228,"line_end":1228,"column_start":42,"column_end":62,"is_primary":true,"text":[{"text":" let mut pad_evmask = defines::XIEventMask {","highlight_start":42,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":49469,"byte_end":49478,"line_start":1228,"line_end":1228,"column_start":42,"column_end":51,"is_primary":true,"text":[{"text":" let mut pad_evmask = defines::XIEventMask {","highlight_start":42,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1228:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1228\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut pad_evmask = defines::XIEventMask {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1228\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut pad_evmask = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIEventMask {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1228\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut pad_evmask = XIEventMask {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":51380,"byte_end":51402,"line_start":1267,"line_end":1267,"column_start":10,"column_end":32,"is_primary":true,"text":[{"text":" ev: &defines::XIDeviceEvent,","highlight_start":10,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":51380,"byte_end":51389,"line_start":1267,"line_end":1267,"column_start":10,"column_end":19,"is_primary":true,"text":[{"text":" ev: &defines::XIDeviceEvent,","highlight_start":10,"highlight_end":19}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1267:10\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ev: &defines::XIDeviceEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m ev: &\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIDeviceEvent,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ev: &XIDeviceEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":52055,"byte_end":52077,"line_start":1286,"line_end":1286,"column_start":10,"column_end":32,"is_primary":true,"text":[{"text":" ev: &defines::XIDeviceEvent,","highlight_start":10,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":52055,"byte_end":52064,"line_start":1286,"line_end":1286,"column_start":10,"column_end":19,"is_primary":true,"text":[{"text":" ev: &defines::XIDeviceEvent,","highlight_start":10,"highlight_end":19}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1286:10\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1286\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ev: &defines::XIDeviceEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1286\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m ev: &\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIDeviceEvent,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1286\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ev: &XIDeviceEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":54173,"byte_end":54195,"line_start":1336,"line_end":1336,"column_start":32,"column_end":54,"is_primary":true,"text":[{"text":"unsafe fn decode_valuator(ev: &defines::XIDeviceEvent, number: i32) -> Option {","highlight_start":32,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":54173,"byte_end":54182,"line_start":1336,"line_end":1336,"column_start":32,"column_end":41,"is_primary":true,"text":[{"text":"unsafe fn decode_valuator(ev: &defines::XIDeviceEvent, number: i32) -> Option {","highlight_start":32,"highlight_end":41}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1336:32\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1336\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn decode_valuator(ev: &defines::XIDeviceEvent, number: i32) -> Option {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1336\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0munsafe fn decode_valuator(ev: &\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIDeviceEvent, number: i32) -> Option {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1336\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0munsafe fn decode_valuator(ev: &XIDeviceEvent, number: i32) -> Option {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":56908,"byte_end":56929,"line_start":1412,"line_end":1412,"column_start":18,"column_end":39,"is_primary":true,"text":[{"text":" supported: &[std::os::raw::c_ulong],","highlight_start":18,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":56908,"byte_end":56922,"line_start":1412,"line_end":1412,"column_start":18,"column_end":32,"is_primary":true,"text":[{"text":" supported: &[std::os::raw::c_ulong],","highlight_start":18,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1412:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m supported: &[std::os::raw::c_ulong],\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m supported: &[\u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_ulong],\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m supported: &[c_ulong],\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":56953,"byte_end":56974,"line_start":1413,"line_end":1413,"column_start":22,"column_end":43,"is_primary":true,"text":[{"text":" moveresize_atom: std::os::raw::c_ulong,","highlight_start":22,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":56953,"byte_end":56967,"line_start":1413,"line_end":1413,"column_start":22,"column_end":36,"is_primary":true,"text":[{"text":" moveresize_atom: std::os::raw::c_ulong,","highlight_start":22,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1413:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m moveresize_atom: std::os::raw::c_ulong,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m moveresize_atom: \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_ulong,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m moveresize_atom: c_ulong,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":59914,"byte_end":59940,"line_start":1490,"line_end":1490,"column_start":30,"column_end":56,"is_primary":true,"text":[{"text":"fn is_grab_focus_change(ev: &defines::XFocusChangeEvent) -> bool {","highlight_start":30,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":59914,"byte_end":59923,"line_start":1490,"line_end":1490,"column_start":30,"column_end":39,"is_primary":true,"text":[{"text":"fn is_grab_focus_change(ev: &defines::XFocusChangeEvent) -> bool {","highlight_start":30,"highlight_end":39}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1490:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1490\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mfn is_grab_focus_change(ev: &defines::XFocusChangeEvent) -> bool {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1490\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mfn is_grab_focus_change(ev: &\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXFocusChangeEvent) -> bool {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1490\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mfn is_grab_focus_change(ev: &XFocusChangeEvent) -> bool {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":59967,"byte_end":59986,"line_start":1491,"line_end":1491,"column_start":16,"column_end":35,"is_primary":true,"text":[{"text":" ev.mode == defines::NotifyGrab","highlight_start":16,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":59967,"byte_end":59976,"line_start":1491,"line_end":1491,"column_start":16,"column_end":25,"is_primary":true,"text":[{"text":" ev.mode == defines::NotifyGrab","highlight_start":16,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1491:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1491\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ev.mode == defines::NotifyGrab\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1491\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m ev.mode == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mNotifyGrab\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1491\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ev.mode == NotifyGrab\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":60009,"byte_end":60030,"line_start":1492,"line_end":1492,"column_start":23,"column_end":44,"is_primary":true,"text":[{"text":" || ev.mode == defines::NotifyUngrab","highlight_start":23,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":60009,"byte_end":60018,"line_start":1492,"line_end":1492,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" || ev.mode == defines::NotifyUngrab","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1492:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1492\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m || ev.mode == defines::NotifyUngrab\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1492\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m || ev.mode == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mNotifyUngrab\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1492\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m || ev.mode == NotifyUngrab\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":60055,"byte_end":60077,"line_start":1493,"line_end":1493,"column_start":25,"column_end":47,"is_primary":true,"text":[{"text":" || ev.detail == defines::NotifyPointer","highlight_start":25,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":60055,"byte_end":60064,"line_start":1493,"line_end":1493,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" || ev.detail == defines::NotifyPointer","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1493:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1493\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m || ev.detail == defines::NotifyPointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1493\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m || ev.detail == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mNotifyPointer\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1493\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m || ev.detail == NotifyPointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":64222,"byte_end":64237,"line_start":1583,"line_end":1583,"column_start":51,"column_end":66,"is_primary":true,"text":[{"text":"fn handle_xi_event(win: &mut X11Window, xev: &mut defines::XEvent) {","highlight_start":51,"highlight_end":66}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":64222,"byte_end":64231,"line_start":1583,"line_end":1583,"column_start":51,"column_end":60,"is_primary":true,"text":[{"text":"fn handle_xi_event(win: &mut X11Window, xev: &mut defines::XEvent) {","highlight_start":51,"highlight_end":60}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1583:51\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1583\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mfn handle_xi_event(win: &mut X11Window, xev: &mut defines::XEvent) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1583\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mfn handle_xi_event(win: &mut X11Window, xev: &mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXEvent) {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1583\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mfn handle_xi_event(win: &mut X11Window, xev: &mut XEvent) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":65249,"byte_end":65277,"line_start":1606,"line_end":1606,"column_start":29,"column_end":57,"is_primary":true,"text":[{"text":" if cookie.evtype == defines::XI_HierarchyChanged {","highlight_start":29,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":65249,"byte_end":65258,"line_start":1606,"line_end":1606,"column_start":29,"column_end":38,"is_primary":true,"text":[{"text":" if cookie.evtype == defines::XI_HierarchyChanged {","highlight_start":29,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1606:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1606\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if cookie.evtype == defines::XI_HierarchyChanged {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1606\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if cookie.evtype == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_HierarchyChanged {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1606\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if cookie.evtype == XI_HierarchyChanged {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":65327,"byte_end":65352,"line_start":1607,"line_end":1607,"column_start":48,"column_end":73,"is_primary":true,"text":[{"text":" let hev = &*(cookie.data as *const defines::XIHierarchyEvent);","highlight_start":48,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":65327,"byte_end":65336,"line_start":1607,"line_end":1607,"column_start":48,"column_end":57,"is_primary":true,"text":[{"text":" let hev = &*(cookie.data as *const defines::XIHierarchyEvent);","highlight_start":48,"highlight_end":57}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1607:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1607\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let hev = &*(cookie.data as *const defines::XIHierarchyEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1607\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let hev = &*(cookie.data as *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIHierarchyEvent);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1607\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let hev = &*(cookie.data as *const XIHierarchyEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":65960,"byte_end":65984,"line_start":1616,"line_end":1616,"column_start":37,"column_end":61,"is_primary":true,"text":[{"text":" if info.flags & defines::XIDeviceEnabled != 0 {","highlight_start":37,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":65960,"byte_end":65969,"line_start":1616,"line_end":1616,"column_start":37,"column_end":46,"is_primary":true,"text":[{"text":" if info.flags & defines::XIDeviceEnabled != 0 {","highlight_start":37,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1616:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1616\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if info.flags & defines::XIDeviceEnabled != 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1616\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if info.flags & \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIDeviceEnabled != 0 {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1616\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if info.flags & XIDeviceEnabled != 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":66224,"byte_end":66249,"line_start":1621,"line_end":1621,"column_start":37,"column_end":62,"is_primary":true,"text":[{"text":" if info.flags & defines::XIDeviceDisabled != 0 {","highlight_start":37,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":66224,"byte_end":66233,"line_start":1621,"line_end":1621,"column_start":37,"column_end":46,"is_primary":true,"text":[{"text":" if info.flags & defines::XIDeviceDisabled != 0 {","highlight_start":37,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1621:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1621\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if info.flags & defines::XIDeviceDisabled != 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1621\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if info.flags & \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIDeviceDisabled != 0 {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1621\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if info.flags & XIDeviceDisabled != 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":67564,"byte_end":67584,"line_start":1646,"line_end":1646,"column_start":29,"column_end":49,"is_primary":true,"text":[{"text":" if cookie.evtype == defines::XI_KeyPress || cookie.evtype == defines::XI_KeyRelease {","highlight_start":29,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":67564,"byte_end":67573,"line_start":1646,"line_end":1646,"column_start":29,"column_end":38,"is_primary":true,"text":[{"text":" if cookie.evtype == defines::XI_KeyPress || cookie.evtype == defines::XI_KeyRelease {","highlight_start":29,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1646:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1646\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if cookie.evtype == defines::XI_KeyPress || cookie.evtype == defines::XI_KeyRelease {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1646\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if cookie.evtype == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_KeyPress || cookie.evtype == defines::XI_KeyRelease {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1646\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if cookie.evtype == XI_KeyPress || cookie.evtype == defines::XI_KeyRelease {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":67605,"byte_end":67627,"line_start":1646,"line_end":1646,"column_start":70,"column_end":92,"is_primary":true,"text":[{"text":" if cookie.evtype == defines::XI_KeyPress || cookie.evtype == defines::XI_KeyRelease {","highlight_start":70,"highlight_end":92}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":67605,"byte_end":67614,"line_start":1646,"line_end":1646,"column_start":70,"column_end":79,"is_primary":true,"text":[{"text":" if cookie.evtype == defines::XI_KeyPress || cookie.evtype == defines::XI_KeyRelease {","highlight_start":70,"highlight_end":79}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1646:70\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1646\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if cookie.evtype == defines::XI_KeyPress || cookie.evtype == defines::XI_KeyRelease {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1646\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if cookie.evtype == defines::XI_KeyPress || cookie.evtype == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_KeyRelease {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1646\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if cookie.evtype == defines::XI_KeyPress || cookie.evtype == XI_KeyRelease {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":67676,"byte_end":67698,"line_start":1647,"line_end":1647,"column_start":47,"column_end":69,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIDeviceEvent);","highlight_start":47,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":67676,"byte_end":67685,"line_start":1647,"line_end":1647,"column_start":47,"column_end":56,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIDeviceEvent);","highlight_start":47,"highlight_end":56}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1647:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1647\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ev = &*(cookie.data as *const defines::XIDeviceEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1647\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let ev = &*(cookie.data as *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIDeviceEvent);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1647\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let ev = &*(cookie.data as *const XIDeviceEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":68775,"byte_end":68796,"line_start":1672,"line_end":1672,"column_start":29,"column_end":50,"is_primary":true,"text":[{"text":" if cookie.evtype == defines::XI_RawMotion {","highlight_start":29,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":68775,"byte_end":68784,"line_start":1672,"line_end":1672,"column_start":29,"column_end":38,"is_primary":true,"text":[{"text":" if cookie.evtype == defines::XI_RawMotion {","highlight_start":29,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1672:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1672\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if cookie.evtype == defines::XI_RawMotion {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1672\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if cookie.evtype == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_RawMotion {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1672\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if cookie.evtype == XI_RawMotion {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":69218,"byte_end":69247,"line_start":1683,"line_end":1683,"column_start":13,"column_end":42,"is_primary":true,"text":[{"text":" defines::XI_GesturePinchBegin","highlight_start":13,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":69218,"byte_end":69227,"line_start":1683,"line_end":1683,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::XI_GesturePinchBegin","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1683:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1683\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_GesturePinchBegin\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1683\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GesturePinchBegin\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1683\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_GesturePinchBegin\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":69266,"byte_end":69296,"line_start":1684,"line_end":1684,"column_start":19,"column_end":49,"is_primary":true,"text":[{"text":" | defines::XI_GesturePinchUpdate","highlight_start":19,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":69266,"byte_end":69275,"line_start":1684,"line_end":1684,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" | defines::XI_GesturePinchUpdate","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1684:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1684\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m | defines::XI_GesturePinchUpdate\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1684\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GesturePinchUpdate\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1684\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m | XI_GesturePinchUpdate\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":69315,"byte_end":69342,"line_start":1685,"line_end":1685,"column_start":19,"column_end":46,"is_primary":true,"text":[{"text":" | defines::XI_GesturePinchEnd","highlight_start":19,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":69315,"byte_end":69324,"line_start":1685,"line_end":1685,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" | defines::XI_GesturePinchEnd","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1685:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1685\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m | defines::XI_GesturePinchEnd\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1685\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GesturePinchEnd\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1685\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m | XI_GesturePinchEnd\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":69361,"byte_end":69390,"line_start":1686,"line_end":1686,"column_start":19,"column_end":48,"is_primary":true,"text":[{"text":" | defines::XI_GestureSwipeBegin","highlight_start":19,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":69361,"byte_end":69370,"line_start":1686,"line_end":1686,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" | defines::XI_GestureSwipeBegin","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1686:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1686\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m | defines::XI_GestureSwipeBegin\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1686\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GestureSwipeBegin\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1686\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m | XI_GestureSwipeBegin\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":69409,"byte_end":69439,"line_start":1687,"line_end":1687,"column_start":19,"column_end":49,"is_primary":true,"text":[{"text":" | defines::XI_GestureSwipeUpdate","highlight_start":19,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":69409,"byte_end":69418,"line_start":1687,"line_end":1687,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" | defines::XI_GestureSwipeUpdate","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1687:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1687\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m | defines::XI_GestureSwipeUpdate\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1687\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GestureSwipeUpdate\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1687\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m | XI_GestureSwipeUpdate\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":69458,"byte_end":69485,"line_start":1688,"line_end":1688,"column_start":19,"column_end":46,"is_primary":true,"text":[{"text":" | defines::XI_GestureSwipeEnd","highlight_start":19,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":69458,"byte_end":69467,"line_start":1688,"line_end":1688,"column_start":19,"column_end":28,"is_primary":true,"text":[{"text":" | defines::XI_GestureSwipeEnd","highlight_start":19,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1688:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1688\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m | defines::XI_GestureSwipeEnd\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1688\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GestureSwipeEnd\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1688\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m | XI_GestureSwipeEnd\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":69669,"byte_end":69691,"line_start":1695,"line_end":1695,"column_start":43,"column_end":65,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIDeviceEvent);","highlight_start":43,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":69669,"byte_end":69678,"line_start":1695,"line_end":1695,"column_start":43,"column_end":52,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIDeviceEvent);","highlight_start":43,"highlight_end":52}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1695:43\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1695\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ev = &*(cookie.data as *const defines::XIDeviceEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1695\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let ev = &*(cookie.data as *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIDeviceEvent);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1695\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let ev = &*(cookie.data as *const XIDeviceEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":71928,"byte_end":71947,"line_start":1739,"line_end":1739,"column_start":29,"column_end":48,"is_primary":true,"text":[{"text":" pub(super) keymap: *mut defines::xkb_keymap,","highlight_start":29,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":71928,"byte_end":71937,"line_start":1739,"line_end":1739,"column_start":29,"column_end":38,"is_primary":true,"text":[{"text":" pub(super) keymap: *mut defines::xkb_keymap,","highlight_start":29,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1739:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1739\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub(super) keymap: *mut defines::xkb_keymap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1739\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub(super) keymap: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxkb_keymap,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1739\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub(super) keymap: *mut xkb_keymap,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":71976,"byte_end":71994,"line_start":1740,"line_end":1740,"column_start":28,"column_end":46,"is_primary":true,"text":[{"text":" pub(super) state: *mut defines::xkb_state,","highlight_start":28,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":71976,"byte_end":71985,"line_start":1740,"line_end":1740,"column_start":28,"column_end":37,"is_primary":true,"text":[{"text":" pub(super) state: *mut defines::xkb_state,","highlight_start":28,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1740:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1740\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pub(super) state: *mut defines::xkb_state,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1740\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pub(super) state: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxkb_state,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1740\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pub(super) state: *mut xkb_state,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":72314,"byte_end":72332,"line_start":1747,"line_end":1747,"column_start":66,"column_end":84,"is_primary":true,"text":[{"text":" fn seat_xkb_state(&mut self, deviceid: c_int) -> Option<*mut defines::xkb_state> {","highlight_start":66,"highlight_end":84}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":72314,"byte_end":72323,"line_start":1747,"line_end":1747,"column_start":66,"column_end":75,"is_primary":true,"text":[{"text":" fn seat_xkb_state(&mut self, deviceid: c_int) -> Option<*mut defines::xkb_state> {","highlight_start":66,"highlight_end":75}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1747:66\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1747\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn seat_xkb_state(&mut self, deviceid: c_int) -> Option<*mut defines::xkb_state> {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1747\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m fn seat_xkb_state(&mut self, deviceid: c_int) -> Option<*mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxkb_state> {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1747\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m fn seat_xkb_state(&mut self, deviceid: c_int) -> Option<*mut xkb_state> {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":74456,"byte_end":74481,"line_start":1803,"line_end":1803,"column_start":20,"column_end":45,"is_primary":true,"text":[{"text":" let mask = defines::XkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;","highlight_start":20,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":74456,"byte_end":74465,"line_start":1803,"line_end":1803,"column_start":20,"column_end":29,"is_primary":true,"text":[{"text":" let mask = defines::XkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;","highlight_start":20,"highlight_end":29}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1803:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1803\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mask = defines::XkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1803\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mask = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1803\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mask = XkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":74484,"byte_end":74517,"line_start":1803,"line_end":1803,"column_start":48,"column_end":81,"is_primary":true,"text":[{"text":" let mask = defines::XkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;","highlight_start":48,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":74484,"byte_end":74493,"line_start":1803,"line_end":1803,"column_start":48,"column_end":57,"is_primary":true,"text":[{"text":" let mask = defines::XkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;","highlight_start":48,"highlight_end":57}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1803:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1803\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mask = defines::XkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1803\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mask = defines::XkbMapNotifyMask | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXkbNewKeyboardNotifyMask;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1803\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mask = defines::XkbMapNotifyMask | XkbNewKeyboardNotifyMask;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":75499,"byte_end":75526,"line_start":1832,"line_end":1832,"column_start":48,"column_end":75,"is_primary":true,"text":[{"text":" let info = (xi.XIQueryDevice)(win.display, defines::XIAllMasterDevices, &mut n);","highlight_start":48,"highlight_end":75}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":75499,"byte_end":75508,"line_start":1832,"line_end":1832,"column_start":48,"column_end":57,"is_primary":true,"text":[{"text":" let info = (xi.XIQueryDevice)(win.display, defines::XIAllMasterDevices, &mut n);","highlight_start":48,"highlight_end":57}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1832:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1832\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let info = (xi.XIQueryDevice)(win.display, defines::XIAllMasterDevices, &mut n);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1832\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let info = (xi.XIQueryDevice)(win.display, \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIAllMasterDevices, &mut n);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1832\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let info = (xi.XIQueryDevice)(win.display, XIAllMasterDevices, &mut n);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":75678,"byte_end":75703,"line_start":1838,"line_end":1838,"column_start":22,"column_end":47,"is_primary":true,"text":[{"text":" if d.use_ == defines::XIMasterKeyboard {","highlight_start":22,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":75678,"byte_end":75687,"line_start":1838,"line_end":1838,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" if d.use_ == defines::XIMasterKeyboard {","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1838:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1838\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if d.use_ == defines::XIMasterKeyboard {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1838\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if d.use_ == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIMasterKeyboard {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1838\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if d.use_ == XIMasterKeyboard {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":76297,"byte_end":76330,"line_start":1853,"line_end":1853,"column_start":24,"column_end":57,"is_primary":true,"text":[{"text":" if deviceid == defines::XI_VIRTUAL_CORE_KEYBOARD {","highlight_start":24,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":76297,"byte_end":76306,"line_start":1853,"line_end":1853,"column_start":24,"column_end":33,"is_primary":true,"text":[{"text":" if deviceid == defines::XI_VIRTUAL_CORE_KEYBOARD {","highlight_start":24,"highlight_end":33}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1853:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1853\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if deviceid == defines::XI_VIRTUAL_CORE_KEYBOARD {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1853\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if deviceid == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_VIRTUAL_CORE_KEYBOARD {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1853\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if deviceid == XI_VIRTUAL_CORE_KEYBOARD {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":76497,"byte_end":76529,"line_start":1857,"line_end":1857,"column_start":42,"column_end":74,"is_primary":true,"text":[{"text":" Some(&pointer) if pointer != defines::XI_VIRTUAL_CORE_POINTER => pointer as u64,","highlight_start":42,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":76497,"byte_end":76506,"line_start":1857,"line_end":1857,"column_start":42,"column_end":51,"is_primary":true,"text":[{"text":" Some(&pointer) if pointer != defines::XI_VIRTUAL_CORE_POINTER => pointer as u64,","highlight_start":42,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1857:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1857\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Some(&pointer) if pointer != defines::XI_VIRTUAL_CORE_POINTER => pointer as u64,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1857\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m Some(&pointer) if pointer != \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_VIRTUAL_CORE_POINTER => pointer as u64,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1857\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m Some(&pointer) if pointer != XI_VIRTUAL_CORE_POINTER => pointer as u64,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":77264,"byte_end":77286,"line_start":1873,"line_end":1873,"column_start":14,"column_end":36,"is_primary":true,"text":[{"text":" ev: &defines::XIDeviceEvent,","highlight_start":14,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":77264,"byte_end":77273,"line_start":1873,"line_end":1873,"column_start":14,"column_end":23,"is_primary":true,"text":[{"text":" ev: &defines::XIDeviceEvent,","highlight_start":14,"highlight_end":23}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1873:14\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1873\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ev: &defines::XIDeviceEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1873\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m ev: &\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIDeviceEvent,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1873\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ev: &XIDeviceEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":77353,"byte_end":77373,"line_start":1875,"line_end":1875,"column_start":36,"column_end":56,"is_primary":true,"text":[{"text":" let is_down = ev.evtype == defines::XI_KeyPress;","highlight_start":36,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":77353,"byte_end":77362,"line_start":1875,"line_end":1875,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" let is_down = ev.evtype == defines::XI_KeyPress;","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1875:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1875\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let is_down = ev.evtype == defines::XI_KeyPress;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1875\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let is_down = ev.evtype == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_KeyPress;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1875\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let is_down = ev.evtype == XI_KeyPress;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":78936,"byte_end":78951,"line_start":1910,"line_end":1910,"column_start":69,"column_end":84,"is_primary":true,"text":[{"text":" events::keysym_to_virtual_keycode(unmodified as defines::KeySym)","highlight_start":69,"highlight_end":84}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":78936,"byte_end":78945,"line_start":1910,"line_end":1910,"column_start":69,"column_end":78,"is_primary":true,"text":[{"text":" events::keysym_to_virtual_keycode(unmodified as defines::KeySym)","highlight_start":69,"highlight_end":78}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1910:69\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1910\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m events::keysym_to_virtual_keycode(unmodified as defines::KeySym)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1910\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m events::keysym_to_virtual_keycode(unmodified as \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mKeySym)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1910\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m events::keysym_to_virtual_keycode(unmodified as KeySym)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":80328,"byte_end":80346,"line_start":1945,"line_end":1945,"column_start":37,"column_end":55,"is_primary":true,"text":[{"text":" let mut key_event = defines::XKeyEvent {","highlight_start":37,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":80328,"byte_end":80337,"line_start":1945,"line_end":1945,"column_start":37,"column_end":46,"is_primary":true,"text":[{"text":" let mut key_event = defines::XKeyEvent {","highlight_start":37,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1945:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1945\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut key_event = defines::XKeyEvent {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1945\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut key_event = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXKeyEvent {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1945\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut key_event = XKeyEvent {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":80376,"byte_end":80393,"line_start":1946,"line_end":1946,"column_start":28,"column_end":45,"is_primary":true,"text":[{"text":" type_: defines::KeyPress,","highlight_start":28,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":80376,"byte_end":80385,"line_start":1946,"line_end":1946,"column_start":28,"column_end":37,"is_primary":true,"text":[{"text":" type_: defines::KeyPress,","highlight_start":28,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1946:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1946\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type_: defines::KeyPress,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1946\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type_: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mKeyPress,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1946\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type_: KeyPress,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":80981,"byte_end":80996,"line_start":1962,"line_end":1962,"column_start":33,"column_end":48,"is_primary":true,"text":[{"text":" let mut keysym: defines::KeySym = 0;","highlight_start":33,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":80981,"byte_end":80990,"line_start":1962,"line_end":1962,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" let mut keysym: defines::KeySym = 0;","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1962:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1962\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut keysym: defines::KeySym = 0;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1962\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut keysym: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mKeySym = 0;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1962\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut keysym: KeySym = 0;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":83601,"byte_end":83625,"line_start":2035,"line_end":2035,"column_start":35,"column_end":59,"is_primary":true,"text":[{"text":" if let Ok(name) = std::ffi::CStr::from_ptr(d.name).to_str() {","highlight_start":35,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":83601,"byte_end":83611,"line_start":2035,"line_end":2035,"column_start":35,"column_end":45,"is_primary":true,"text":[{"text":" if let Ok(name) = std::ffi::CStr::from_ptr(d.name).to_str() {","highlight_start":35,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2035:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2035\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if let Ok(name) = std::ffi::CStr::from_ptr(d.name).to_str() {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2035\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if let Ok(name) = \u001b[0m\u001b[0m\u001b[38;5;9mstd::ffi::\u001b[0m\u001b[0mCStr::from_ptr(d.name).to_str() {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2035\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if let Ok(name) = CStr::from_ptr(d.name).to_str() {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":83672,"byte_end":83742,"line_start":2036,"line_end":2036,"column_start":28,"column_end":98,"is_primary":true,"text":[{"text":" kind = crate::desktop::shell2::common::event::pointer_source_from_device_name(","highlight_start":28,"highlight_end":98}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":83672,"byte_end":83704,"line_start":2036,"line_end":2036,"column_start":28,"column_end":60,"is_primary":true,"text":[{"text":" kind = crate::desktop::shell2::common::event::pointer_source_from_device_name(","highlight_start":28,"highlight_end":60}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2036:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2036\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m kind = crate::desktop::shell2::common::event::pointer_source_from_device_name(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2036\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m kind = \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::pointer_source_from_device_name(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2036\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m kind = event::pointer_source_from_device_name(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":83999,"byte_end":84021,"line_start":2048,"line_end":2048,"column_start":53,"column_end":75,"is_primary":true,"text":[{"text":"fn handle_xi_device_event(win: &mut X11Window, ev: &defines::XIDeviceEvent) -> ProcessEventResult {","highlight_start":53,"highlight_end":75}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":83999,"byte_end":84008,"line_start":2048,"line_end":2048,"column_start":53,"column_end":62,"is_primary":true,"text":[{"text":"fn handle_xi_device_event(win: &mut X11Window, ev: &defines::XIDeviceEvent) -> ProcessEventResult {","highlight_start":53,"highlight_end":62}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2048:53\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2048\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mfn handle_xi_device_event(win: &mut X11Window, ev: &defines::XIDeviceEvent) -> ProcessEventResult {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2048\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0mfn handle_xi_device_event(win: &mut X11Window, ev: &\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIDeviceEvent) -> ProcessEventResult {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2048\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0mfn handle_xi_device_event(win: &mut X11Window, ev: &XIDeviceEvent) -> ProcessEventResult {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":85125,"byte_end":85157,"line_start":2067,"line_end":2067,"column_start":41,"column_end":73,"is_primary":true,"text":[{"text":" let seat_id = if ev.deviceid == defines::XI_VIRTUAL_CORE_POINTER {","highlight_start":41,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":85125,"byte_end":85134,"line_start":2067,"line_end":2067,"column_start":41,"column_end":50,"is_primary":true,"text":[{"text":" let seat_id = if ev.deviceid == defines::XI_VIRTUAL_CORE_POINTER {","highlight_start":41,"highlight_end":50}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2067:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2067\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let seat_id = if ev.deviceid == defines::XI_VIRTUAL_CORE_POINTER {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2067\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let seat_id = if ev.deviceid == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_VIRTUAL_CORE_POINTER {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2067\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let seat_id = if ev.deviceid == XI_VIRTUAL_CORE_POINTER {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":86130,"byte_end":86148,"line_start":2088,"line_end":2088,"column_start":22,"column_end":40,"is_primary":true,"text":[{"text":" if evtype != defines::XI_Motion {","highlight_start":22,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":86130,"byte_end":86139,"line_start":2088,"line_end":2088,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" if evtype != defines::XI_Motion {","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2088:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2088\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if evtype != defines::XI_Motion {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2088\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if evtype != \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_Motion {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2088\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if evtype != XI_Motion {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":86222,"byte_end":86244,"line_start":2091,"line_end":2091,"column_start":22,"column_end":44,"is_primary":true,"text":[{"text":" if evtype == defines::XI_TouchBegin","highlight_start":22,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":86222,"byte_end":86231,"line_start":2091,"line_end":2091,"column_start":22,"column_end":31,"is_primary":true,"text":[{"text":" if evtype == defines::XI_TouchBegin","highlight_start":22,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2091:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2091\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if evtype == defines::XI_TouchBegin\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2091\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if evtype == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_TouchBegin\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2091\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if evtype == XI_TouchBegin\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":86270,"byte_end":86293,"line_start":2092,"line_end":2092,"column_start":26,"column_end":49,"is_primary":true,"text":[{"text":" || evtype == defines::XI_TouchUpdate","highlight_start":26,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":86270,"byte_end":86279,"line_start":2092,"line_end":2092,"column_start":26,"column_end":35,"is_primary":true,"text":[{"text":" || evtype == defines::XI_TouchUpdate","highlight_start":26,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2092:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2092\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m || evtype == defines::XI_TouchUpdate\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2092\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m || evtype == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_TouchUpdate\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2092\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m || evtype == XI_TouchUpdate\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":86319,"byte_end":86339,"line_start":2093,"line_end":2093,"column_start":26,"column_end":46,"is_primary":true,"text":[{"text":" || evtype == defines::XI_TouchEnd","highlight_start":26,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":86319,"byte_end":86328,"line_start":2093,"line_end":2093,"column_start":26,"column_end":35,"is_primary":true,"text":[{"text":" || evtype == defines::XI_TouchEnd","highlight_start":26,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2093:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2093\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m || evtype == defines::XI_TouchEnd\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2093\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m || evtype == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_TouchEnd\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2093\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m || evtype == XI_TouchEnd\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":86930,"byte_end":86950,"line_start":2103,"line_end":2103,"column_start":35,"column_end":55,"is_primary":true,"text":[{"text":" let is_up = evtype == defines::XI_TouchEnd;","highlight_start":35,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":86930,"byte_end":86939,"line_start":2103,"line_end":2103,"column_start":35,"column_end":44,"is_primary":true,"text":[{"text":" let is_up = evtype == defines::XI_TouchEnd;","highlight_start":35,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2103:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2103\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let is_up = evtype == defines::XI_TouchEnd;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2103\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let is_up = evtype == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_TouchEnd;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2103\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let is_up = evtype == XI_TouchEnd;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":87183,"byte_end":87215,"line_start":2107,"line_end":2107,"column_start":45,"column_end":77,"is_primary":true,"text":[{"text":" let seat_id = if ev.deviceid == defines::XI_VIRTUAL_CORE_POINTER {","highlight_start":45,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":87183,"byte_end":87192,"line_start":2107,"line_end":2107,"column_start":45,"column_end":54,"is_primary":true,"text":[{"text":" let seat_id = if ev.deviceid == defines::XI_VIRTUAL_CORE_POINTER {","highlight_start":45,"highlight_end":54}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2107:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2107\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let seat_id = if ev.deviceid == defines::XI_VIRTUAL_CORE_POINTER {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2107\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let seat_id = if ev.deviceid == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_VIRTUAL_CORE_POINTER {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2107\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let seat_id = if ev.deviceid == XI_VIRTUAL_CORE_POINTER {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":88850,"byte_end":88872,"line_start":2140,"line_end":2140,"column_start":34,"column_end":56,"is_primary":true,"text":[{"text":" if evtype == defines::XI_TouchBegin {","highlight_start":34,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":88850,"byte_end":88859,"line_start":2140,"line_end":2140,"column_start":34,"column_end":43,"is_primary":true,"text":[{"text":" if evtype == defines::XI_TouchBegin {","highlight_start":34,"highlight_end":43}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2140:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if evtype == defines::XI_TouchBegin {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if evtype == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_TouchBegin {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2140\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if evtype == XI_TouchBegin {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":90537,"byte_end":90560,"line_start":2170,"line_end":2170,"column_start":21,"column_end":44,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress | defines::XI_ButtonRelease => {","highlight_start":21,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":90537,"byte_end":90546,"line_start":2170,"line_end":2170,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress | defines::XI_ButtonRelease => {","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2170:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2170\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_ButtonPress | defines::XI_ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2170\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_ButtonPress | defines::XI_ButtonRelease => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2170\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_ButtonPress | defines::XI_ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":90563,"byte_end":90588,"line_start":2170,"line_end":2170,"column_start":47,"column_end":72,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress | defines::XI_ButtonRelease => {","highlight_start":47,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":90563,"byte_end":90572,"line_start":2170,"line_end":2170,"column_start":47,"column_end":56,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress | defines::XI_ButtonRelease => {","highlight_start":47,"highlight_end":56}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2170:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2170\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_ButtonPress | defines::XI_ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2170\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m defines::XI_ButtonPress | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_ButtonRelease => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2170\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m defines::XI_ButtonPress | XI_ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":91027,"byte_end":91050,"line_start":2177,"line_end":2177,"column_start":42,"column_end":65,"is_primary":true,"text":[{"text":" if evtype == defines::XI_ButtonPress {","highlight_start":42,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":91027,"byte_end":91036,"line_start":2177,"line_end":2177,"column_start":42,"column_end":51,"is_primary":true,"text":[{"text":" if evtype == defines::XI_ButtonPress {","highlight_start":42,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2177:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2177\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m if evtype == defines::XI_ButtonPress {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2177\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if evtype == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_ButtonPress {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2177\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if evtype == XI_ButtonPress {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":91323,"byte_end":91341,"line_start":2184,"line_end":2184,"column_start":21,"column_end":39,"is_primary":true,"text":[{"text":" defines::XI_Motion => {","highlight_start":21,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":91323,"byte_end":91332,"line_start":2184,"line_end":2184,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" defines::XI_Motion => {","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2184:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_Motion => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_Motion => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_Motion => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":95594,"byte_end":95617,"line_start":2257,"line_end":2257,"column_start":21,"column_end":44,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress => match ev.detail {","highlight_start":21,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":95594,"byte_end":95603,"line_start":2257,"line_end":2257,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress => match ev.detail {","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2257:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2257\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_ButtonPress => match ev.detail {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2257\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_ButtonPress => match ev.detail {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2257\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_ButtonPress => match ev.detail {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":96173,"byte_end":96198,"line_start":2267,"line_end":2267,"column_start":21,"column_end":46,"is_primary":true,"text":[{"text":" defines::XI_ButtonRelease => match ev.detail {","highlight_start":21,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":96173,"byte_end":96182,"line_start":2267,"line_end":2267,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" defines::XI_ButtonRelease => match ev.detail {","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2267:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_ButtonRelease => match ev.detail {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_ButtonRelease => match ev.detail {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_ButtonRelease => match ev.detail {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":96784,"byte_end":96816,"line_start":2280,"line_end":2280,"column_start":50,"column_end":82,"is_primary":true,"text":[{"text":" let pen_seat = if ev.deviceid == defines::XI_VIRTUAL_CORE_POINTER {","highlight_start":50,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":96784,"byte_end":96793,"line_start":2280,"line_end":2280,"column_start":50,"column_end":59,"is_primary":true,"text":[{"text":" let pen_seat = if ev.deviceid == defines::XI_VIRTUAL_CORE_POINTER {","highlight_start":50,"highlight_end":59}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2280:50\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2280\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let pen_seat = if ev.deviceid == defines::XI_VIRTUAL_CORE_POINTER {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2280\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let pen_seat = if ev.deviceid == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_VIRTUAL_CORE_POINTER {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2280\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let pen_seat = if ev.deviceid == XI_VIRTUAL_CORE_POINTER {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":100068,"byte_end":100091,"line_start":2341,"line_end":2341,"column_start":17,"column_end":40,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress | defines::XI_ButtonRelease => {","highlight_start":17,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":100068,"byte_end":100077,"line_start":2341,"line_end":2341,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress | defines::XI_ButtonRelease => {","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2341:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2341\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_ButtonPress | defines::XI_ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2341\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_ButtonPress | defines::XI_ButtonRelease => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2341\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_ButtonPress | defines::XI_ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":100094,"byte_end":100119,"line_start":2341,"line_end":2341,"column_start":43,"column_end":68,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress | defines::XI_ButtonRelease => {","highlight_start":43,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":100094,"byte_end":100103,"line_start":2341,"line_end":2341,"column_start":43,"column_end":52,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress | defines::XI_ButtonRelease => {","highlight_start":43,"highlight_end":52}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2341:43\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2341\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_ButtonPress | defines::XI_ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2341\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m defines::XI_ButtonPress | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_ButtonRelease => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2341\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m defines::XI_ButtonPress | XI_ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":100483,"byte_end":100509,"line_start":2346,"line_end":2346,"column_start":53,"column_end":79,"is_primary":true,"text":[{"text":" let emulated_wheel = ev.flags & defines::XIPointerEmulated != 0","highlight_start":53,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":100483,"byte_end":100492,"line_start":2346,"line_end":2346,"column_start":53,"column_end":62,"is_primary":true,"text":[{"text":" let emulated_wheel = ev.flags & defines::XIPointerEmulated != 0","highlight_start":53,"highlight_end":62}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2346:53\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let emulated_wheel = ev.flags & defines::XIPointerEmulated != 0\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let emulated_wheel = ev.flags & \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIPointerEmulated != 0\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let emulated_wheel = ev.flags & XIPointerEmulated != 0\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":100722,"byte_end":100743,"line_start":2350,"line_end":2350,"column_start":35,"column_end":56,"is_primary":true,"text":[{"text":" let btn = defines::XButtonEvent {","highlight_start":35,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":100722,"byte_end":100731,"line_start":2350,"line_end":2350,"column_start":35,"column_end":44,"is_primary":true,"text":[{"text":" let btn = defines::XButtonEvent {","highlight_start":35,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2350:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2350\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let btn = defines::XButtonEvent {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2350\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let btn = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXButtonEvent {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2350\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let btn = XButtonEvent {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":100794,"byte_end":100817,"line_start":2351,"line_end":2351,"column_start":49,"column_end":72,"is_primary":true,"text":[{"text":" type_: if evtype == defines::XI_ButtonPress {","highlight_start":49,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":100794,"byte_end":100803,"line_start":2351,"line_end":2351,"column_start":49,"column_end":58,"is_primary":true,"text":[{"text":" type_: if evtype == defines::XI_ButtonPress {","highlight_start":49,"highlight_end":58}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2351:49\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2351\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m type_: if evtype == defines::XI_ButtonPress {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2351\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type_: if evtype == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_ButtonPress {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2351\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type_: if evtype == XI_ButtonPress {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":100852,"byte_end":100872,"line_start":2352,"line_end":2352,"column_start":33,"column_end":53,"is_primary":true,"text":[{"text":" defines::ButtonPress","highlight_start":33,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":100852,"byte_end":100861,"line_start":2352,"line_end":2352,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" defines::ButtonPress","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2352:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2352\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m defines::ButtonPress\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2352\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mButtonPress\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2352\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ButtonPress\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":100942,"byte_end":100964,"line_start":2354,"line_end":2354,"column_start":33,"column_end":55,"is_primary":true,"text":[{"text":" defines::ButtonRelease","highlight_start":33,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":100942,"byte_end":100951,"line_start":2354,"line_end":2354,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" defines::ButtonRelease","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2354:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2354\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m defines::ButtonRelease\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2354\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mButtonRelease\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2354\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ButtonRelease\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":101850,"byte_end":101868,"line_start":2374,"line_end":2374,"column_start":17,"column_end":35,"is_primary":true,"text":[{"text":" defines::XI_Motion => {","highlight_start":17,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":101850,"byte_end":101859,"line_start":2374,"line_end":2374,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::XI_Motion => {","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2374:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2374\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_Motion => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2374\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_Motion => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2374\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_Motion => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":103775,"byte_end":103796,"line_start":2409,"line_end":2409,"column_start":51,"column_end":72,"is_primary":true,"text":[{"text":" win.pending_motion = Some(defines::XMotionEvent {","highlight_start":51,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":103775,"byte_end":103784,"line_start":2409,"line_end":2409,"column_start":51,"column_end":60,"is_primary":true,"text":[{"text":" win.pending_motion = Some(defines::XMotionEvent {","highlight_start":51,"highlight_end":60}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2409:51\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m win.pending_motion = Some(defines::XMotionEvent {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m win.pending_motion = Some(\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXMotionEvent {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m win.pending_motion = Some(XMotionEvent {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":103834,"byte_end":103855,"line_start":2410,"line_end":2410,"column_start":36,"column_end":57,"is_primary":true,"text":[{"text":" type_: defines::MotionNotify,","highlight_start":36,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":103834,"byte_end":103843,"line_start":2410,"line_end":2410,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" type_: defines::MotionNotify,","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2410:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2410\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m type_: defines::MotionNotify,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2410\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type_: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mMotionNotify,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2410\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type_: MotionNotify,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":105462,"byte_end":105484,"line_start":2449,"line_end":2449,"column_start":10,"column_end":32,"is_primary":true,"text":[{"text":" ev: &defines::XIDeviceEvent,","highlight_start":10,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":105462,"byte_end":105471,"line_start":2449,"line_end":2449,"column_start":10,"column_end":19,"is_primary":true,"text":[{"text":" ev: &defines::XIDeviceEvent,","highlight_start":10,"highlight_end":19}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2449:10\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2449\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ev: &defines::XIDeviceEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2449\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m ev: &\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIDeviceEvent,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2449\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ev: &XIDeviceEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":105795,"byte_end":105818,"line_start":2460,"line_end":2460,"column_start":9,"column_end":32,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress | defines::XI_ButtonRelease => {","highlight_start":9,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":105795,"byte_end":105804,"line_start":2460,"line_end":2460,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress | defines::XI_ButtonRelease => {","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2460:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2460\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_ButtonPress | defines::XI_ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2460\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_ButtonPress | defines::XI_ButtonRelease => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2460\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_ButtonPress | defines::XI_ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":105821,"byte_end":105846,"line_start":2460,"line_end":2460,"column_start":35,"column_end":60,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress | defines::XI_ButtonRelease => {","highlight_start":35,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":105821,"byte_end":105830,"line_start":2460,"line_end":2460,"column_start":35,"column_end":44,"is_primary":true,"text":[{"text":" defines::XI_ButtonPress | defines::XI_ButtonRelease => {","highlight_start":35,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2460:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2460\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_ButtonPress | defines::XI_ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2460\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m defines::XI_ButtonPress | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_ButtonRelease => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2460\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m defines::XI_ButtonPress | XI_ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":105891,"byte_end":105914,"line_start":2461,"line_end":2461,"column_start":40,"column_end":63,"is_primary":true,"text":[{"text":" let is_down = ev.evtype == defines::XI_ButtonPress;","highlight_start":40,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":105891,"byte_end":105900,"line_start":2461,"line_end":2461,"column_start":40,"column_end":49,"is_primary":true,"text":[{"text":" let is_down = ev.evtype == defines::XI_ButtonPress;","highlight_start":40,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2461:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2461\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let is_down = ev.evtype == defines::XI_ButtonPress;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2461\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let is_down = ev.evtype == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_ButtonPress;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2461\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let is_down = ev.evtype == XI_ButtonPress;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":106685,"byte_end":106711,"line_start":2476,"line_end":2476,"column_start":53,"column_end":79,"is_primary":true,"text":[{"text":" let emulated_wheel = ev.flags & defines::XIPointerEmulated != 0","highlight_start":53,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":106685,"byte_end":106694,"line_start":2476,"line_end":2476,"column_start":53,"column_end":62,"is_primary":true,"text":[{"text":" let emulated_wheel = ev.flags & defines::XIPointerEmulated != 0","highlight_start":53,"highlight_end":62}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2476:53\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let emulated_wheel = ev.flags & defines::XIPointerEmulated != 0\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let emulated_wheel = ev.flags & \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIPointerEmulated != 0\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let emulated_wheel = ev.flags & XIPointerEmulated != 0\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":108036,"byte_end":108054,"line_start":2505,"line_end":2505,"column_start":9,"column_end":27,"is_primary":true,"text":[{"text":" defines::XI_Motion => {","highlight_start":9,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":108036,"byte_end":108045,"line_start":2505,"line_end":2505,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" defines::XI_Motion => {","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2505:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2505\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_Motion => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2505\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_Motion => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2505\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_Motion => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":112962,"byte_end":112982,"line_start":2615,"line_end":2615,"column_start":28,"column_end":48,"is_primary":true,"text":[{"text":" seat_xkb_context: *mut defines::xkb_context,","highlight_start":28,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":112962,"byte_end":112971,"line_start":2615,"line_end":2615,"column_start":28,"column_end":37,"is_primary":true,"text":[{"text":" seat_xkb_context: *mut defines::xkb_context,","highlight_start":28,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2615:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2615\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat_xkb_context: *mut defines::xkb_context,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2615\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m seat_xkb_context: *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mxkb_context,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2615\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m seat_xkb_context: *mut xkb_context,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":120484,"byte_end":120505,"line_start":2738,"line_end":2738,"column_start":28,"column_end":49,"is_primary":true,"text":[{"text":" pending_motion: Option,","highlight_start":28,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":120484,"byte_end":120493,"line_start":2738,"line_end":2738,"column_start":28,"column_end":37,"is_primary":true,"text":[{"text":" pending_motion: Option,","highlight_start":28,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2738:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2738\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pending_motion: Option,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2738\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m pending_motion: Option<\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXMotionEvent>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2738\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m pending_motion: Option,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":124616,"byte_end":124637,"line_start":2817,"line_end":2817,"column_start":37,"column_end":58,"is_primary":true,"text":[{"text":" net_supported_cache: Option>,","highlight_start":37,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":124616,"byte_end":124630,"line_start":2817,"line_end":2817,"column_start":37,"column_end":51,"is_primary":true,"text":[{"text":" net_supported_cache: Option>,","highlight_start":37,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2817:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2817\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m net_supported_cache: Option>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2817\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m net_supported_cache: Option>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2817\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m net_supported_cache: Option>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":125326,"byte_end":125379,"line_start":2829,"line_end":2829,"column_start":19,"column_end":72,"is_primary":true,"text":[{"text":" needs_redraw: crate::desktop::shell2::common::event::LatchedRequest,","highlight_start":19,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":125326,"byte_end":125358,"line_start":2829,"line_end":2829,"column_start":19,"column_end":51,"is_primary":true,"text":[{"text":" needs_redraw: crate::desktop::shell2::common::event::LatchedRequest,","highlight_start":19,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2829:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2829\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m needs_redraw: crate::desktop::shell2::common::event::LatchedRequest,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2829\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m needs_redraw: \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::LatchedRequest,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2829\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m needs_redraw: event::LatchedRequest,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":131885,"byte_end":131906,"line_start":2962,"line_end":2962,"column_start":38,"column_end":59,"is_primary":true,"text":[{"text":" if unsafe { event.type_ } == defines::GenericEvent {","highlight_start":38,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":131885,"byte_end":131894,"line_start":2962,"line_end":2962,"column_start":38,"column_end":47,"is_primary":true,"text":[{"text":" if unsafe { event.type_ } == defines::GenericEvent {","highlight_start":38,"highlight_end":47}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2962:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2962\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if unsafe { event.type_ } == defines::GenericEvent {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2962\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if unsafe { event.type_ } == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mGenericEvent {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2962\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if unsafe { event.type_ } == GenericEvent {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":132052,"byte_end":132073,"line_start":2964,"line_end":2964,"column_start":67,"column_end":88,"is_primary":true,"text":[{"text":" crate::plog_trace!(\"[x11 ev] raw GenericEvent (#{})\", defines::GenericEvent);","highlight_start":67,"highlight_end":88}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":132052,"byte_end":132061,"line_start":2964,"line_end":2964,"column_start":67,"column_end":76,"is_primary":true,"text":[{"text":" crate::plog_trace!(\"[x11 ev] raw GenericEvent (#{})\", defines::GenericEvent);","highlight_start":67,"highlight_end":76}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2964:67\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2964\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m crate::plog_trace!(\"[x11 ev] raw GenericEvent (#{})\", defines::GenericEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2964\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m crate::plog_trace!(\"[x11 ev] raw GenericEvent (#{})\", \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mGenericEvent);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2964\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m crate::plog_trace!(\"[x11 ev] raw GenericEvent (#{})\", GenericEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":139043,"byte_end":139063,"line_start":3117,"line_end":3117,"column_start":62,"column_end":82,"is_primary":true,"text":[{"text":" (self.xlib.XUngrabPointer)(self.display, defines::CurrentTime);","highlight_start":62,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":139043,"byte_end":139052,"line_start":3117,"line_end":3117,"column_start":62,"column_end":71,"is_primary":true,"text":[{"text":" (self.xlib.XUngrabPointer)(self.display, defines::CurrentTime);","highlight_start":62,"highlight_end":71}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3117:62\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3117\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.xlib.XUngrabPointer)(self.display, defines::CurrentTime);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3117\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (self.xlib.XUngrabPointer)(self.display, \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mCurrentTime);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3117\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (self.xlib.XUngrabPointer)(self.display, CurrentTime);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":142520,"byte_end":142561,"line_start":3193,"line_end":3193,"column_start":44,"column_end":85,"is_primary":true,"text":[{"text":" layout_window.renderer_type = Some(azul_core::window::RendererType::Hardware);","highlight_start":44,"highlight_end":85}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":142520,"byte_end":142539,"line_start":3193,"line_end":3193,"column_start":44,"column_end":63,"is_primary":true,"text":[{"text":" layout_window.renderer_type = Some(azul_core::window::RendererType::Hardware);","highlight_start":44,"highlight_end":63}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3193:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3193\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m layout_window.renderer_type = Some(azul_core::window::RendererType::Hardware);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3193\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m layout_window.renderer_type = Some(\u001b[0m\u001b[0m\u001b[38;5;9mazul_core::window::\u001b[0m\u001b[0mRendererType::Hardware);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3193\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m layout_window.renderer_type = Some(RendererType::Hardware);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":150664,"byte_end":150689,"line_start":3368,"line_end":3368,"column_start":32,"column_end":57,"is_primary":true,"text":[{"text":" let mask = defines::XkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;","highlight_start":32,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":150664,"byte_end":150673,"line_start":3368,"line_end":3368,"column_start":32,"column_end":41,"is_primary":true,"text":[{"text":" let mask = defines::XkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;","highlight_start":32,"highlight_end":41}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3368:32\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3368\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mask = defines::XkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3368\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mask = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3368\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mask = XkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":150692,"byte_end":150725,"line_start":3368,"line_end":3368,"column_start":60,"column_end":93,"is_primary":true,"text":[{"text":" let mask = defines::XkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;","highlight_start":60,"highlight_end":93}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":150692,"byte_end":150701,"line_start":3368,"line_end":3368,"column_start":60,"column_end":69,"is_primary":true,"text":[{"text":" let mask = defines::XkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;","highlight_start":60,"highlight_end":69}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3368:60\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3368\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mask = defines::XkbMapNotifyMask | defines::XkbNewKeyboardNotifyMask;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3368\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mask = defines::XkbMapNotifyMask | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXkbNewKeyboardNotifyMask;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3368\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mask = defines::XkbMapNotifyMask | XkbNewKeyboardNotifyMask;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":150798,"byte_end":150820,"line_start":3370,"line_end":3370,"column_start":43,"column_end":65,"is_primary":true,"text":[{"text":" (select)(display, defines::XkbUseCoreKbd, mask, mask);","highlight_start":43,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":150798,"byte_end":150807,"line_start":3370,"line_end":3370,"column_start":43,"column_end":52,"is_primary":true,"text":[{"text":" (select)(display, defines::XkbUseCoreKbd, mask, mask);","highlight_start":43,"highlight_end":52}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3370:43\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3370\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (select)(display, defines::XkbUseCoreKbd, mask, mask);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3370\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (select)(display, \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXkbUseCoreKbd, mask, mask);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3370\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (select)(display, XkbUseCoreKbd, mask, mask);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":157276,"byte_end":157296,"line_start":3520,"line_end":3520,"column_start":41,"column_end":61,"is_primary":true,"text":[{"text":" let type_atom_long: std::os::raw::c_long = type_atom as std::os::raw::c_long;","highlight_start":41,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":157276,"byte_end":157290,"line_start":3520,"line_end":3520,"column_start":41,"column_end":55,"is_primary":true,"text":[{"text":" let type_atom_long: std::os::raw::c_long = type_atom as std::os::raw::c_long;","highlight_start":41,"highlight_end":55}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3520:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let type_atom_long: std::os::raw::c_long = type_atom as std::os::raw::c_long;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let type_atom_long: \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_long = type_atom as std::os::raw::c_long;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let type_atom_long: c_long = type_atom as std::os::raw::c_long;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":157312,"byte_end":157332,"line_start":3520,"line_end":3520,"column_start":77,"column_end":97,"is_primary":true,"text":[{"text":" let type_atom_long: std::os::raw::c_long = type_atom as std::os::raw::c_long;","highlight_start":77,"highlight_end":97}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":157312,"byte_end":157326,"line_start":3520,"line_end":3520,"column_start":77,"column_end":91,"is_primary":true,"text":[{"text":" let type_atom_long: std::os::raw::c_long = type_atom as std::os::raw::c_long;","highlight_start":77,"highlight_end":91}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3520:77\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let type_atom_long: std::os::raw::c_long = type_atom as std::os::raw::c_long;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let type_atom_long: std::os::raw::c_long = type_atom as \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_long;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let type_atom_long: std::os::raw::c_long = type_atom as c_long;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":157518,"byte_end":157534,"line_start":3525,"line_end":3525,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" defines::XA_ATOM,","highlight_start":25,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":157518,"byte_end":157527,"line_start":3525,"line_end":3525,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" defines::XA_ATOM,","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3525:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3525\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XA_ATOM,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3525\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXA_ATOM,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3525\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XA_ATOM,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":157588,"byte_end":157612,"line_start":3527,"line_end":3527,"column_start":25,"column_end":49,"is_primary":true,"text":[{"text":" defines::PropModeReplace,","highlight_start":25,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":157588,"byte_end":157597,"line_start":3527,"line_end":3527,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" defines::PropModeReplace,","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3527:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3527\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::PropModeReplace,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3527\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mPropModeReplace,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3527\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m PropModeReplace,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":157664,"byte_end":157684,"line_start":3528,"line_end":3528,"column_start":51,"column_end":71,"is_primary":true,"text":[{"text":" &type_atom_long as *const std::os::raw::c_long as *const u8,","highlight_start":51,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":157664,"byte_end":157678,"line_start":3528,"line_end":3528,"column_start":51,"column_end":65,"is_primary":true,"text":[{"text":" &type_atom_long as *const std::os::raw::c_long as *const u8,","highlight_start":51,"highlight_end":65}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3528:51\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3528\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &type_atom_long as *const std::os::raw::c_long as *const u8,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3528\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m &type_atom_long as *const \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_long as *const u8,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3528\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m &type_atom_long as *const c_long as *const u8,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":161394,"byte_end":161418,"line_start":3613,"line_end":3613,"column_start":25,"column_end":49,"is_primary":true,"text":[{"text":" defines::PropModeReplace,","highlight_start":25,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":161394,"byte_end":161403,"line_start":3613,"line_end":3613,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" defines::PropModeReplace,","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3613:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3613\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::PropModeReplace,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3613\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mPropModeReplace,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3613\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m PropModeReplace,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":161973,"byte_end":161993,"line_start":3627,"line_end":3627,"column_start":26,"column_end":46,"is_primary":true,"text":[{"text":" let version: std::os::raw::c_long = 5;","highlight_start":26,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":161973,"byte_end":161987,"line_start":3627,"line_end":3627,"column_start":26,"column_end":40,"is_primary":true,"text":[{"text":" let version: std::os::raw::c_long = 5;","highlight_start":26,"highlight_end":40}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3627:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3627\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let version: std::os::raw::c_long = 5;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3627\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let version: \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_long = 5;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3627\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let version: c_long = 5;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":162135,"byte_end":162151,"line_start":3632,"line_end":3632,"column_start":17,"column_end":33,"is_primary":true,"text":[{"text":" defines::XA_ATOM,","highlight_start":17,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":162135,"byte_end":162144,"line_start":3632,"line_end":3632,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::XA_ATOM,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3632:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3632\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XA_ATOM,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3632\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXA_ATOM,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3632\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XA_ATOM,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":162189,"byte_end":162213,"line_start":3634,"line_end":3634,"column_start":17,"column_end":41,"is_primary":true,"text":[{"text":" defines::PropModeReplace,","highlight_start":17,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":162189,"byte_end":162198,"line_start":3634,"line_end":3634,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::PropModeReplace,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3634:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3634\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::PropModeReplace,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3634\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mPropModeReplace,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3634\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m PropModeReplace,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":162250,"byte_end":162270,"line_start":3635,"line_end":3635,"column_start":36,"column_end":56,"is_primary":true,"text":[{"text":" &version as *const std::os::raw::c_long as *const u8,","highlight_start":36,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":162250,"byte_end":162264,"line_start":3635,"line_end":3635,"column_start":36,"column_end":50,"is_primary":true,"text":[{"text":" &version as *const std::os::raw::c_long as *const u8,","highlight_start":36,"highlight_end":50}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3635:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3635\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &version as *const std::os::raw::c_long as *const u8,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3635\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m &version as *const \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_long as *const u8,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3635\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m &version as *const c_long as *const u8,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":169214,"byte_end":169264,"line_start":3777,"line_end":3777,"column_start":25,"column_end":75,"is_primary":true,"text":[{"text":" crate::desktop::wr_translate2::Compositor::default(),","highlight_start":25,"highlight_end":75}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":169214,"byte_end":169230,"line_start":3777,"line_end":3777,"column_start":25,"column_end":41,"is_primary":true,"text":[{"text":" crate::desktop::wr_translate2::Compositor::default(),","highlight_start":25,"highlight_end":41}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3777:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3777\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m crate::desktop::wr_translate2::Compositor::default(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3777\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::\u001b[0m\u001b[0mwr_translate2::Compositor::default(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3777\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m wr_translate2::Compositor::default(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":180995,"byte_end":181056,"line_start":4023,"line_end":4023,"column_start":27,"column_end":88,"is_primary":true,"text":[{"text":" needs_redraw: crate::desktop::shell2::common::event::LatchedRequest::raised(),","highlight_start":27,"highlight_end":88}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":180995,"byte_end":181027,"line_start":4023,"line_end":4023,"column_start":27,"column_end":59,"is_primary":true,"text":[{"text":" needs_redraw: crate::desktop::shell2::common::event::LatchedRequest::raised(),","highlight_start":27,"highlight_end":59}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4023:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4023\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m needs_redraw: crate::desktop::shell2::common::event::LatchedRequest::raised(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4023\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m needs_redraw: \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::LatchedRequest::raised(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4023\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m needs_redraw: event::LatchedRequest::raised(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":185475,"byte_end":185504,"line_start":4119,"line_end":4119,"column_start":52,"column_end":81,"is_primary":true,"text":[{"text":" let raw_handle = RawWindowHandle::Xlib(azul_core::window::XlibHandle {","highlight_start":52,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":185475,"byte_end":185494,"line_start":4119,"line_end":4119,"column_start":52,"column_end":71,"is_primary":true,"text":[{"text":" let raw_handle = RawWindowHandle::Xlib(azul_core::window::XlibHandle {","highlight_start":52,"highlight_end":71}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4119:52\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4119\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let raw_handle = RawWindowHandle::Xlib(azul_core::window::XlibHandle {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4119\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let raw_handle = RawWindowHandle::Xlib(\u001b[0m\u001b[0m\u001b[38;5;9mazul_core::window::\u001b[0m\u001b[0mXlibHandle {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4119\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let raw_handle = RawWindowHandle::Xlib(XlibHandle {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":186788,"byte_end":186836,"line_start":4150,"line_end":4150,"column_start":25,"column_end":73,"is_primary":true,"text":[{"text":" if r != azul_core::events::ProcessEventResult::DoNothing {","highlight_start":25,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":186788,"byte_end":186807,"line_start":4150,"line_end":4150,"column_start":25,"column_end":44,"is_primary":true,"text":[{"text":" if r != azul_core::events::ProcessEventResult::DoNothing {","highlight_start":25,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4150:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4150\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if r != azul_core::events::ProcessEventResult::DoNothing {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4150\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if r != \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::events::\u001b[0m\u001b[0mProcessEventResult::DoNothing {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4150\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if r != ProcessEventResult::DoNothing {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":196182,"byte_end":196211,"line_start":4379,"line_end":4379,"column_start":52,"column_end":81,"is_primary":true,"text":[{"text":" let raw_handle = RawWindowHandle::Xlib(azul_core::window::XlibHandle {","highlight_start":52,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":196182,"byte_end":196201,"line_start":4379,"line_end":4379,"column_start":52,"column_end":71,"is_primary":true,"text":[{"text":" let raw_handle = RawWindowHandle::Xlib(azul_core::window::XlibHandle {","highlight_start":52,"highlight_end":71}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4379:52\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4379\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let raw_handle = RawWindowHandle::Xlib(azul_core::window::XlibHandle {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4379\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let raw_handle = RawWindowHandle::Xlib(\u001b[0m\u001b[0m\u001b[38;5;9mazul_core::window::\u001b[0m\u001b[0mXlibHandle {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4379\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let raw_handle = RawWindowHandle::Xlib(XlibHandle {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":199524,"byte_end":199591,"line_start":4446,"line_end":4446,"column_start":25,"column_end":92,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::IncrementalRelayout::Restyle,","highlight_start":25,"highlight_end":92}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":199524,"byte_end":199556,"line_start":4446,"line_end":4446,"column_start":25,"column_end":57,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::IncrementalRelayout::Restyle,","highlight_start":25,"highlight_end":57}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4446:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4446\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m crate::desktop::shell2::common::event::IncrementalRelayout::Restyle,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4446\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::IncrementalRelayout::Restyle,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4446\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event::IncrementalRelayout::Restyle,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":210700,"byte_end":210712,"line_start":4674,"line_end":4674,"column_start":81,"column_end":93,"is_primary":true,"text":[{"text":" libc::read(fd, &mut expirations as *mut u64 as *mut libc::c_void, 8);","highlight_start":81,"highlight_end":93}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":210700,"byte_end":210706,"line_start":4674,"line_end":4674,"column_start":81,"column_end":87,"is_primary":true,"text":[{"text":" libc::read(fd, &mut expirations as *mut u64 as *mut libc::c_void, 8);","highlight_start":81,"highlight_end":87}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4674:81\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4674\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m libc::read(fd, &mut expirations as *mut u64 as *mut libc::c_void, 8);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4674\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m libc::read(fd, &mut expirations as *mut u64 as *mut \u001b[0m\u001b[0m\u001b[38;5;9mlibc::\u001b[0m\u001b[0mc_void, 8);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4674\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m libc::read(fd, &mut expirations as *mut u64 as *mut c_void, 8);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":211515,"byte_end":211527,"line_start":4691,"line_end":4691,"column_start":52,"column_end":64,"is_primary":true,"text":[{"text":" &mut n as *mut u64 as *mut libc::c_void,","highlight_start":52,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":211515,"byte_end":211521,"line_start":4691,"line_end":4691,"column_start":52,"column_end":58,"is_primary":true,"text":[{"text":" &mut n as *mut u64 as *mut libc::c_void,","highlight_start":52,"highlight_end":58}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4691:52\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4691\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut n as *mut u64 as *mut libc::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4691\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m &mut n as *mut u64 as *mut \u001b[0m\u001b[0m\u001b[38;5;9mlibc::\u001b[0m\u001b[0mc_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4691\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m &mut n as *mut u64 as *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":211759,"byte_end":211773,"line_start":4697,"line_end":4697,"column_start":25,"column_end":39,"is_primary":true,"text":[{"text":" std::mem::take(&mut *g)","highlight_start":25,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":211759,"byte_end":211764,"line_start":4697,"line_end":4697,"column_start":25,"column_end":30,"is_primary":true,"text":[{"text":" std::mem::take(&mut *g)","highlight_start":25,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4697:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4697\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::take(&mut *g)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4697\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mstd::\u001b[0m\u001b[0mmem::take(&mut *g)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4697\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m mem::take(&mut *g)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":213341,"byte_end":213353,"line_start":4731,"line_end":4731,"column_start":73,"column_end":85,"is_primary":true,"text":[{"text":" libc::read(self.pace_fd, &mut n as *mut u64 as *mut libc::c_void, 8);","highlight_start":73,"highlight_end":85}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":213341,"byte_end":213347,"line_start":4731,"line_end":4731,"column_start":73,"column_end":79,"is_primary":true,"text":[{"text":" libc::read(self.pace_fd, &mut n as *mut u64 as *mut libc::c_void, 8);","highlight_start":73,"highlight_end":79}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4731:73\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4731\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m libc::read(self.pace_fd, &mut n as *mut u64 as *mut libc::c_void, 8);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4731\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m libc::read(self.pace_fd, &mut n as *mut u64 as *mut \u001b[0m\u001b[0m\u001b[38;5;9mlibc::\u001b[0m\u001b[0mc_void, 8);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4731\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m libc::read(self.pace_fd, &mut n as *mut u64 as *mut c_void, 8);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":221148,"byte_end":221169,"line_start":4896,"line_end":4896,"column_start":13,"column_end":34,"is_primary":true,"text":[{"text":" defines::MotionNotify | defines::GenericEvent => {}","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":221148,"byte_end":221157,"line_start":4896,"line_end":4896,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::MotionNotify | defines::GenericEvent => {}","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4896:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4896\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::MotionNotify | defines::GenericEvent => {}\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4896\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mMotionNotify | defines::GenericEvent => {}\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4896\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m MotionNotify | defines::GenericEvent => {}\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":221172,"byte_end":221193,"line_start":4896,"line_end":4896,"column_start":37,"column_end":58,"is_primary":true,"text":[{"text":" defines::MotionNotify | defines::GenericEvent => {}","highlight_start":37,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":221172,"byte_end":221181,"line_start":4896,"line_end":4896,"column_start":37,"column_end":46,"is_primary":true,"text":[{"text":" defines::MotionNotify | defines::GenericEvent => {}","highlight_start":37,"highlight_end":46}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4896:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4896\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::MotionNotify | defines::GenericEvent => {}\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4896\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m defines::MotionNotify | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mGenericEvent => {}\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4896\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m defines::MotionNotify | GenericEvent => {}\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":221363,"byte_end":221378,"line_start":4902,"line_end":4902,"column_start":13,"column_end":28,"is_primary":true,"text":[{"text":" defines::Expose => {","highlight_start":13,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":221363,"byte_end":221372,"line_start":4902,"line_end":4902,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::Expose => {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4902:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4902\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::Expose => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4902\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mExpose => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4902\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m Expose => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":223730,"byte_end":223752,"line_start":4943,"line_end":4943,"column_start":13,"column_end":35,"is_primary":true,"text":[{"text":" defines::ClientMessage => {","highlight_start":13,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":223730,"byte_end":223739,"line_start":4943,"line_end":4943,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::ClientMessage => {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4943:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4943\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ClientMessage => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4943\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mClientMessage => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4943\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ClientMessage => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":226358,"byte_end":226382,"line_start":4994,"line_end":4994,"column_start":13,"column_end":37,"is_primary":true,"text":[{"text":" defines::SelectionNotify => {","highlight_start":13,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":226358,"byte_end":226367,"line_start":4994,"line_end":4994,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::SelectionNotify => {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4994:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4994\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::SelectionNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4994\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mSelectionNotify => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4994\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m SelectionNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":226493,"byte_end":226516,"line_start":4997,"line_end":4997,"column_start":13,"column_end":36,"is_primary":true,"text":[{"text":" defines::PropertyNotify => {","highlight_start":13,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":226493,"byte_end":226502,"line_start":4997,"line_end":4997,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::PropertyNotify => {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4997:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4997\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::PropertyNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4997\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mPropertyNotify => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4997\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m PropertyNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":227108,"byte_end":227128,"line_start":5007,"line_end":5007,"column_start":13,"column_end":33,"is_primary":true,"text":[{"text":" defines::ButtonPress | defines::ButtonRelease => {","highlight_start":13,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":227108,"byte_end":227117,"line_start":5007,"line_end":5007,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::ButtonPress | defines::ButtonRelease => {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5007:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5007\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ButtonPress | defines::ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5007\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mButtonPress | defines::ButtonRelease => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5007\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ButtonPress | defines::ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":227131,"byte_end":227153,"line_start":5007,"line_end":5007,"column_start":36,"column_end":58,"is_primary":true,"text":[{"text":" defines::ButtonPress | defines::ButtonRelease => {","highlight_start":36,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":227131,"byte_end":227140,"line_start":5007,"line_end":5007,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" defines::ButtonPress | defines::ButtonRelease => {","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5007:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5007\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ButtonPress | defines::ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5007\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m defines::ButtonPress | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mButtonRelease => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5007\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m defines::ButtonPress | ButtonRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":227252,"byte_end":227273,"line_start":5010,"line_end":5010,"column_start":13,"column_end":34,"is_primary":true,"text":[{"text":" defines::MotionNotify => {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":227252,"byte_end":227261,"line_start":5010,"line_end":5010,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::MotionNotify => {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5010:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5010\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::MotionNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5010\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mMotionNotify => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5010\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m MotionNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":227640,"byte_end":227661,"line_start":5017,"line_end":5017,"column_start":13,"column_end":34,"is_primary":true,"text":[{"text":" defines::GenericEvent => {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":227640,"byte_end":227649,"line_start":5017,"line_end":5017,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::GenericEvent => {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5017:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5017\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::GenericEvent => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5017\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mGenericEvent => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5017\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m GenericEvent => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":228247,"byte_end":228264,"line_start":5027,"line_end":5027,"column_start":13,"column_end":30,"is_primary":true,"text":[{"text":" defines::KeyPress | defines::KeyRelease => {","highlight_start":13,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":228247,"byte_end":228256,"line_start":5027,"line_end":5027,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::KeyPress | defines::KeyRelease => {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5027:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5027\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::KeyPress | defines::KeyRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5027\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mKeyPress | defines::KeyRelease => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5027\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m KeyPress | defines::KeyRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":228267,"byte_end":228286,"line_start":5027,"line_end":5027,"column_start":33,"column_end":52,"is_primary":true,"text":[{"text":" defines::KeyPress | defines::KeyRelease => {","highlight_start":33,"highlight_end":52}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":228267,"byte_end":228276,"line_start":5027,"line_end":5027,"column_start":33,"column_end":42,"is_primary":true,"text":[{"text":" defines::KeyPress | defines::KeyRelease => {","highlight_start":33,"highlight_end":42}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5027:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5027\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::KeyPress | defines::KeyRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5027\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m defines::KeyPress | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mKeyRelease => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5027\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m defines::KeyPress | KeyRelease => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":228382,"byte_end":228402,"line_start":5030,"line_end":5030,"column_start":13,"column_end":33,"is_primary":true,"text":[{"text":" defines::EnterNotify | defines::LeaveNotify => {","highlight_start":13,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":228382,"byte_end":228391,"line_start":5030,"line_end":5030,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::EnterNotify | defines::LeaveNotify => {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5030:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5030\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::EnterNotify | defines::LeaveNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5030\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mEnterNotify | defines::LeaveNotify => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5030\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m EnterNotify | defines::LeaveNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":228405,"byte_end":228425,"line_start":5030,"line_end":5030,"column_start":36,"column_end":56,"is_primary":true,"text":[{"text":" defines::EnterNotify | defines::LeaveNotify => {","highlight_start":36,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":228405,"byte_end":228414,"line_start":5030,"line_end":5030,"column_start":36,"column_end":45,"is_primary":true,"text":[{"text":" defines::EnterNotify | defines::LeaveNotify => {","highlight_start":36,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5030:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5030\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::EnterNotify | defines::LeaveNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5030\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m defines::EnterNotify | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mLeaveNotify => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5030\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m defines::EnterNotify | LeaveNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":228528,"byte_end":228544,"line_start":5033,"line_end":5033,"column_start":13,"column_end":29,"is_primary":true,"text":[{"text":" defines::FocusIn => {","highlight_start":13,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":228528,"byte_end":228537,"line_start":5033,"line_end":5033,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::FocusIn => {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5033:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5033\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::FocusIn => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5033\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mFocusIn => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5033\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m FocusIn => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":230377,"byte_end":230394,"line_start":5063,"line_end":5063,"column_start":13,"column_end":30,"is_primary":true,"text":[{"text":" defines::FocusOut => {","highlight_start":13,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":230377,"byte_end":230386,"line_start":5063,"line_end":5063,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::FocusOut => {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5063:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5063\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::FocusOut => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5063\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mFocusOut => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5063\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m FocusOut => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":235351,"byte_end":235372,"line_start":5141,"line_end":5141,"column_start":13,"column_end":34,"is_primary":true,"text":[{"text":" defines::KeymapNotify => {","highlight_start":13,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":235351,"byte_end":235360,"line_start":5141,"line_end":5141,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::KeymapNotify => {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5141:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5141\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::KeymapNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5141\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mKeymapNotify => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5141\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m KeymapNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":236883,"byte_end":236903,"line_start":5165,"line_end":5165,"column_start":71,"column_end":91,"is_primary":true,"text":[{"text":" let xe = unsafe { &*(event as *const XEvent as *const defines::XkbAnyEvent) };","highlight_start":71,"highlight_end":91}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":236883,"byte_end":236892,"line_start":5165,"line_end":5165,"column_start":71,"column_end":80,"is_primary":true,"text":[{"text":" let xe = unsafe { &*(event as *const XEvent as *const defines::XkbAnyEvent) };","highlight_start":71,"highlight_end":80}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5165:71\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5165\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let xe = unsafe { &*(event as *const XEvent as *const defines::XkbAnyEvent) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5165\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let xe = unsafe { &*(event as *const XEvent as *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXkbAnyEvent) };\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5165\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let xe = unsafe { &*(event as *const XEvent as *const XkbAnyEvent) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":236942,"byte_end":236963,"line_start":5166,"line_end":5166,"column_start":35,"column_end":56,"is_primary":true,"text":[{"text":" if xe.xkb_type == defines::XkbMapNotify","highlight_start":35,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":236942,"byte_end":236951,"line_start":5166,"line_end":5166,"column_start":35,"column_end":44,"is_primary":true,"text":[{"text":" if xe.xkb_type == defines::XkbMapNotify","highlight_start":35,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5166:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5166\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if xe.xkb_type == defines::XkbMapNotify\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5166\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if xe.xkb_type == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXkbMapNotify\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5166\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if xe.xkb_type == XkbMapNotify\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":237002,"byte_end":237031,"line_start":5167,"line_end":5167,"column_start":39,"column_end":68,"is_primary":true,"text":[{"text":" || xe.xkb_type == defines::XkbNewKeyboardNotify","highlight_start":39,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":237002,"byte_end":237011,"line_start":5167,"line_end":5167,"column_start":39,"column_end":48,"is_primary":true,"text":[{"text":" || xe.xkb_type == defines::XkbNewKeyboardNotify","highlight_start":39,"highlight_end":48}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5167:39\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5167\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m || xe.xkb_type == defines::XkbNewKeyboardNotify\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5167\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m || xe.xkb_type == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXkbNewKeyboardNotify\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5167\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m || xe.xkb_type == XkbNewKeyboardNotify\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":237203,"byte_end":237225,"line_start":5173,"line_end":5173,"column_start":13,"column_end":35,"is_primary":true,"text":[{"text":" defines::MappingNotify => {","highlight_start":13,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":237203,"byte_end":237212,"line_start":5173,"line_end":5173,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::MappingNotify => {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5173:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5173\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::MappingNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5173\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mMappingNotify => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5173\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m MappingNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":237807,"byte_end":237831,"line_start":5184,"line_end":5184,"column_start":39,"column_end":63,"is_primary":true,"text":[{"text":" if mapping.request == defines::MappingModifier","highlight_start":39,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":237807,"byte_end":237816,"line_start":5184,"line_end":5184,"column_start":39,"column_end":48,"is_primary":true,"text":[{"text":" if mapping.request == defines::MappingModifier","highlight_start":39,"highlight_end":48}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5184:39\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if mapping.request == defines::MappingModifier\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if mapping.request == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mMappingModifier\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if mapping.request == MappingModifier\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":237874,"byte_end":237898,"line_start":5185,"line_end":5185,"column_start":43,"column_end":67,"is_primary":true,"text":[{"text":" || mapping.request == defines::MappingKeyboard","highlight_start":43,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":237874,"byte_end":237883,"line_start":5185,"line_end":5185,"column_start":43,"column_end":52,"is_primary":true,"text":[{"text":" || mapping.request == defines::MappingKeyboard","highlight_start":43,"highlight_end":52}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5185:43\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5185\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m || mapping.request == defines::MappingKeyboard\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5185\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m || mapping.request == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mMappingKeyboard\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5185\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m || mapping.request == MappingKeyboard\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":238283,"byte_end":238316,"line_start":5191,"line_end":5191,"column_start":43,"column_end":76,"is_primary":true,"text":[{"text":" self.drop_seat_keymap(defines::XI_VIRTUAL_CORE_KEYBOARD);","highlight_start":43,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":238283,"byte_end":238292,"line_start":5191,"line_end":5191,"column_start":43,"column_end":52,"is_primary":true,"text":[{"text":" self.drop_seat_keymap(defines::XI_VIRTUAL_CORE_KEYBOARD);","highlight_start":43,"highlight_end":52}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5191:43\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5191\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self.drop_seat_keymap(defines::XI_VIRTUAL_CORE_KEYBOARD);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5191\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m self.drop_seat_keymap(\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_VIRTUAL_CORE_KEYBOARD);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5191\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m self.drop_seat_keymap(XI_VIRTUAL_CORE_KEYBOARD);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":238409,"byte_end":238427,"line_start":5195,"line_end":5195,"column_start":13,"column_end":31,"is_primary":true,"text":[{"text":" defines::MapNotify => {","highlight_start":13,"highlight_end":31}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":238409,"byte_end":238418,"line_start":5195,"line_end":5195,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::MapNotify => {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5195:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5195\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::MapNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5195\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mMapNotify => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5195\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m MapNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":240245,"byte_end":240269,"line_start":5224,"line_end":5224,"column_start":13,"column_end":37,"is_primary":true,"text":[{"text":" defines::ConfigureNotify => {","highlight_start":13,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":240245,"byte_end":240254,"line_start":5224,"line_end":5224,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::ConfigureNotify => {","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5224:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5224\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ConfigureNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5224\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mConfigureNotify => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5224\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m ConfigureNotify => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":243298,"byte_end":243320,"line_start":5274,"line_end":5274,"column_start":63,"column_end":85,"is_primary":true,"text":[{"text":" .map_or(0, |q| unsafe { (q)(self.display, defines::QueuedAlready) });","highlight_start":63,"highlight_end":85}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":243298,"byte_end":243307,"line_start":5274,"line_end":5274,"column_start":63,"column_end":72,"is_primary":true,"text":[{"text":" .map_or(0, |q| unsafe { (q)(self.display, defines::QueuedAlready) });","highlight_start":63,"highlight_end":72}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5274:63\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m .map_or(0, |q| unsafe { (q)(self.display, defines::QueuedAlready) });\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m .map_or(0, |q| unsafe { (q)(self.display, \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mQueuedAlready) });\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m .map_or(0, |q| unsafe { (q)(self.display, QueuedAlready) });\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":246090,"byte_end":246123,"line_start":5329,"line_end":5329,"column_start":39,"column_end":72,"is_primary":true,"text":[{"text":" let old_logical = azul_core::geom::LogicalSize::new(","highlight_start":39,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":246090,"byte_end":246107,"line_start":5329,"line_end":5329,"column_start":39,"column_end":56,"is_primary":true,"text":[{"text":" let old_logical = azul_core::geom::LogicalSize::new(","highlight_start":39,"highlight_end":56}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5329:39\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5329\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let old_logical = azul_core::geom::LogicalSize::new(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5329\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let old_logical = \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalSize::new(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5329\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let old_logical = LogicalSize::new(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":250271,"byte_end":250331,"line_start":5409,"line_end":5409,"column_start":21,"column_end":81,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::WindowStateSource::Os,","highlight_start":21,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":250271,"byte_end":250303,"line_start":5409,"line_end":5409,"column_start":21,"column_end":53,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::WindowStateSource::Os,","highlight_start":21,"highlight_end":53}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5409:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m crate::desktop::shell2::common::event::WindowStateSource::Os,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::WindowStateSource::Os,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event::WindowStateSource::Os,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":253552,"byte_end":253612,"line_start":5468,"line_end":5468,"column_start":37,"column_end":97,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::WindowStateSource::Os,","highlight_start":37,"highlight_end":97}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":253552,"byte_end":253584,"line_start":5468,"line_end":5468,"column_start":37,"column_end":69,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::WindowStateSource::Os,","highlight_start":37,"highlight_end":69}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5468:37\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5468\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m crate::desktop::shell2::common::event::WindowStateSource::Os,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5468\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::WindowStateSource::Os,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5468\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event::WindowStateSource::Os,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":264389,"byte_end":264456,"line_start":5666,"line_end":5666,"column_start":17,"column_end":84,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::IncrementalRelayout::Restyle,","highlight_start":17,"highlight_end":84}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":264389,"byte_end":264421,"line_start":5666,"line_end":5666,"column_start":17,"column_end":49,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::IncrementalRelayout::Restyle,","highlight_start":17,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5666:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5666\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m crate::desktop::shell2::common::event::IncrementalRelayout::Restyle,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5666\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::IncrementalRelayout::Restyle,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5666\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event::IncrementalRelayout::Restyle,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":266802,"byte_end":266824,"line_start":5724,"line_end":5724,"column_start":24,"column_end":46,"is_primary":true,"text":[{"text":" type_: defines::ClientMessage,","highlight_start":24,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":266802,"byte_end":266811,"line_start":5724,"line_end":5724,"column_start":24,"column_end":33,"is_primary":true,"text":[{"text":" type_: defines::ClientMessage,","highlight_start":24,"highlight_end":33}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5724:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5724\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m type_: defines::ClientMessage,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5724\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m type_: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mClientMessage,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5724\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m type_: ClientMessage,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":269602,"byte_end":269622,"line_start":5787,"line_end":5787,"column_start":25,"column_end":45,"is_primary":true,"text":[{"text":" defines::CurrentTime,","highlight_start":25,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":269602,"byte_end":269611,"line_start":5787,"line_end":5787,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" defines::CurrentTime,","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5787:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5787\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::CurrentTime,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5787\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mCurrentTime,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5787\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m CurrentTime,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":275837,"byte_end":275861,"line_start":5935,"line_end":5935,"column_start":17,"column_end":41,"is_primary":true,"text":[{"text":" defines::AnyPropertyType,","highlight_start":17,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":275837,"byte_end":275846,"line_start":5935,"line_end":5935,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::AnyPropertyType,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5935:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5935\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::AnyPropertyType,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5935\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mAnyPropertyType,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5935\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m AnyPropertyType,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":277457,"byte_end":277473,"line_start":5975,"line_end":5975,"column_start":17,"column_end":33,"is_primary":true,"text":[{"text":" defines::XA_ATOM,","highlight_start":17,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":277457,"byte_end":277466,"line_start":5975,"line_end":5975,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::XA_ATOM,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5975:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5975\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XA_ATOM,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5975\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXA_ATOM,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5975\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XA_ATOM,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":277716,"byte_end":277732,"line_start":5983,"line_end":5983,"column_start":35,"column_end":51,"is_primary":true,"text":[{"text":" && actual_type == defines::XA_ATOM","highlight_start":35,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":277716,"byte_end":277725,"line_start":5983,"line_end":5983,"column_start":35,"column_end":44,"is_primary":true,"text":[{"text":" && actual_type == defines::XA_ATOM","highlight_start":35,"highlight_end":44}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5983:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5983\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m && actual_type == defines::XA_ATOM\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5983\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m && actual_type == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXA_ATOM\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5983\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m && actual_type == XA_ATOM\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":281004,"byte_end":281041,"line_start":6051,"line_end":6051,"column_start":28,"column_end":65,"is_primary":true,"text":[{"text":" let posf = azul_core::geom::LogicalPosition::new(pos.x as f32, pos.y as f32);","highlight_start":28,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":281004,"byte_end":281021,"line_start":6051,"line_end":6051,"column_start":28,"column_end":45,"is_primary":true,"text":[{"text":" let posf = azul_core::geom::LogicalPosition::new(pos.x as f32, pos.y as f32);","highlight_start":28,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6051:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6051\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let posf = azul_core::geom::LogicalPosition::new(pos.x as f32, pos.y as f32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6051\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let posf = \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition::new(pos.x as f32, pos.y as f32);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6051\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let posf = LogicalPosition::new(pos.x as f32, pos.y as f32);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":285138,"byte_end":285162,"line_start":6125,"line_end":6125,"column_start":26,"column_end":50,"is_primary":true,"text":[{"text":" (defines::ButtonPressMask","highlight_start":26,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":285138,"byte_end":285147,"line_start":6125,"line_end":6125,"column_start":26,"column_end":35,"is_primary":true,"text":[{"text":" (defines::ButtonPressMask","highlight_start":26,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6125:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6125\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (defines::ButtonPressMask\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6125\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mButtonPressMask\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6125\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (ButtonPressMask\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":285193,"byte_end":285219,"line_start":6126,"line_end":6126,"column_start":31,"column_end":57,"is_primary":true,"text":[{"text":" | defines::ButtonReleaseMask","highlight_start":31,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":285193,"byte_end":285202,"line_start":6126,"line_end":6126,"column_start":31,"column_end":40,"is_primary":true,"text":[{"text":" | defines::ButtonReleaseMask","highlight_start":31,"highlight_end":40}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6126:31\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6126\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m | defines::ButtonReleaseMask\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6126\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mButtonReleaseMask\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6126\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m | ButtonReleaseMask\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":285250,"byte_end":285276,"line_start":6127,"line_end":6127,"column_start":31,"column_end":57,"is_primary":true,"text":[{"text":" | defines::PointerMotionMask) as u32,","highlight_start":31,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":285250,"byte_end":285259,"line_start":6127,"line_end":6127,"column_start":31,"column_end":40,"is_primary":true,"text":[{"text":" | defines::PointerMotionMask) as u32,","highlight_start":31,"highlight_end":40}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6127:31\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6127\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m | defines::PointerMotionMask) as u32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6127\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mPointerMotionMask) as u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6127\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m | PointerMotionMask) as u32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":285310,"byte_end":285332,"line_start":6128,"line_end":6128,"column_start":25,"column_end":47,"is_primary":true,"text":[{"text":" defines::GrabModeAsync,","highlight_start":25,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":285310,"byte_end":285319,"line_start":6128,"line_end":6128,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" defines::GrabModeAsync,","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6128:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6128\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::GrabModeAsync,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6128\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mGrabModeAsync,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6128\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m GrabModeAsync,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":285358,"byte_end":285380,"line_start":6129,"line_end":6129,"column_start":25,"column_end":47,"is_primary":true,"text":[{"text":" defines::GrabModeAsync,","highlight_start":25,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":285358,"byte_end":285367,"line_start":6129,"line_end":6129,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" defines::GrabModeAsync,","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6129:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6129\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::GrabModeAsync,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6129\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mGrabModeAsync,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6129\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m GrabModeAsync,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":285498,"byte_end":285518,"line_start":6132,"line_end":6132,"column_start":25,"column_end":45,"is_primary":true,"text":[{"text":" defines::CurrentTime,","highlight_start":25,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":285498,"byte_end":285507,"line_start":6132,"line_end":6132,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" defines::CurrentTime,","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6132:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6132\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::CurrentTime,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6132\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mCurrentTime,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6132\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m CurrentTime,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":286920,"byte_end":286980,"line_start":6161,"line_end":6161,"column_start":13,"column_end":73,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::WindowStateSource::Os,","highlight_start":13,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":286920,"byte_end":286952,"line_start":6161,"line_end":6161,"column_start":13,"column_end":45,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::WindowStateSource::Os,","highlight_start":13,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6161:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6161\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m crate::desktop::shell2::common::event::WindowStateSource::Os,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6161\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::WindowStateSource::Os,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6161\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event::WindowStateSource::Os,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":288900,"byte_end":288965,"line_start":6209,"line_end":6209,"column_start":21,"column_end":86,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::debug_server::LogCategory::Layout,","highlight_start":21,"highlight_end":86}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":288900,"byte_end":288946,"line_start":6209,"line_end":6209,"column_start":21,"column_end":67,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::debug_server::LogCategory::Layout,","highlight_start":21,"highlight_end":67}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6209:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6209\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m crate::desktop::shell2::common::debug_server::LogCategory::Layout,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6209\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::debug_server::\u001b[0m\u001b[0mLogCategory::Layout,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6209\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::Layout,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":299840,"byte_end":299906,"line_start":6427,"line_end":6427,"column_start":17,"column_end":83,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::IncrementalRelayout::Resize,","highlight_start":17,"highlight_end":83}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":299840,"byte_end":299872,"line_start":6427,"line_end":6427,"column_start":17,"column_end":49,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::IncrementalRelayout::Resize,","highlight_start":17,"highlight_end":49}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6427:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6427\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m crate::desktop::shell2::common::event::IncrementalRelayout::Resize,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6427\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::IncrementalRelayout::Resize,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6427\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event::IncrementalRelayout::Resize,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":315421,"byte_end":315441,"line_start":6682,"line_end":6682,"column_start":64,"column_end":84,"is_primary":true,"text":[{"text":" let mut vinfo: defines::XVisualInfo =","highlight_start":64,"highlight_end":84}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":315421,"byte_end":315430,"line_start":6682,"line_end":6682,"column_start":64,"column_end":73,"is_primary":true,"text":[{"text":" let mut vinfo: defines::XVisualInfo =","highlight_start":64,"highlight_end":73}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6682:64\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6682\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m let mut vinfo: defines::XVisualInfo =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6682\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut vinfo: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXVisualInfo =\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6682\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut vinfo: XVisualInfo =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":315831,"byte_end":315849,"line_start":6688,"line_end":6688,"column_start":53,"column_end":71,"is_primary":true,"text":[{"text":" defines::TrueColor,","highlight_start":53,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":315831,"byte_end":315840,"line_start":6688,"line_end":6688,"column_start":53,"column_end":62,"is_primary":true,"text":[{"text":" defines::TrueColor,","highlight_start":53,"highlight_end":62}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6688:53\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6688\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m defines::TrueColor,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6688\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mTrueColor,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6688\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m TrueColor,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":334429,"byte_end":334461,"line_start":7034,"line_end":7034,"column_start":33,"column_end":65,"is_primary":true,"text":[{"text":" origin: azul_core::geom::LogicalPosition {","highlight_start":33,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":334429,"byte_end":334446,"line_start":7034,"line_end":7034,"column_start":33,"column_end":50,"is_primary":true,"text":[{"text":" origin: azul_core::geom::LogicalPosition {","highlight_start":33,"highlight_end":50}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7034:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7034\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m origin: azul_core::geom::LogicalPosition {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7034\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m origin: \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7034\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m origin: LogicalPosition {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":334641,"byte_end":334669,"line_start":7038,"line_end":7038,"column_start":31,"column_end":59,"is_primary":true,"text":[{"text":" size: azul_core::geom::LogicalSize {","highlight_start":31,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":334641,"byte_end":334658,"line_start":7038,"line_end":7038,"column_start":31,"column_end":48,"is_primary":true,"text":[{"text":" size: azul_core::geom::LogicalSize {","highlight_start":31,"highlight_end":48}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7038:31\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7038\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m size: azul_core::geom::LogicalSize {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7038\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m size: \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalSize {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7038\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m size: LogicalSize {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":345235,"byte_end":345255,"line_start":7282,"line_end":7282,"column_start":53,"column_end":73,"is_primary":true,"text":[{"text":" (self.xlib.XUngrabPointer)(display, defines::CurrentTime);","highlight_start":53,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":345235,"byte_end":345244,"line_start":7282,"line_end":7282,"column_start":53,"column_end":62,"is_primary":true,"text":[{"text":" (self.xlib.XUngrabPointer)(display, defines::CurrentTime);","highlight_start":53,"highlight_end":62}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7282:53\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7282\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.xlib.XUngrabPointer)(display, defines::CurrentTime);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7282\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (self.xlib.XUngrabPointer)(display, \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mCurrentTime);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7282\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (self.xlib.XUngrabPointer)(display, CurrentTime);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":345535,"byte_end":345561,"line_start":7290,"line_end":7290,"column_start":18,"column_end":44,"is_primary":true,"text":[{"text":" (defines::PointerMotionMask | defines::ButtonPressMask | defines::ButtonReleaseMask)","highlight_start":18,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":345535,"byte_end":345544,"line_start":7290,"line_end":7290,"column_start":18,"column_end":27,"is_primary":true,"text":[{"text":" (defines::PointerMotionMask | defines::ButtonPressMask | defines::ButtonReleaseMask)","highlight_start":18,"highlight_end":27}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7290:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7290\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (defines::PointerMotionMask | defines::ButtonPressMask | defines::ButtonReleaseMask)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7290\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mPointerMotionMask | defines::ButtonPressMask | defines::ButtonReleaseMask)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7290\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (PointerMotionMask | defines::ButtonPressMask | defines::ButtonReleaseMask)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":345564,"byte_end":345588,"line_start":7290,"line_end":7290,"column_start":47,"column_end":71,"is_primary":true,"text":[{"text":" (defines::PointerMotionMask | defines::ButtonPressMask | defines::ButtonReleaseMask)","highlight_start":47,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":345564,"byte_end":345573,"line_start":7290,"line_end":7290,"column_start":47,"column_end":56,"is_primary":true,"text":[{"text":" (defines::PointerMotionMask | defines::ButtonPressMask | defines::ButtonReleaseMask)","highlight_start":47,"highlight_end":56}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7290:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7290\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (defines::PointerMotionMask | defines::ButtonPressMask | defines::ButtonReleaseMask)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7290\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (defines::PointerMotionMask | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mButtonPressMask | defines::ButtonReleaseMask)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7290\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (defines::PointerMotionMask | ButtonPressMask | defines::ButtonReleaseMask)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":345591,"byte_end":345617,"line_start":7290,"line_end":7290,"column_start":74,"column_end":100,"is_primary":true,"text":[{"text":" (defines::PointerMotionMask | defines::ButtonPressMask | defines::ButtonReleaseMask)","highlight_start":74,"highlight_end":100}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":345591,"byte_end":345600,"line_start":7290,"line_end":7290,"column_start":74,"column_end":83,"is_primary":true,"text":[{"text":" (defines::PointerMotionMask | defines::ButtonPressMask | defines::ButtonReleaseMask)","highlight_start":74,"highlight_end":83}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7290:74\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7290\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (defines::PointerMotionMask | defines::ButtonPressMask | defines::ButtonReleaseMask)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7290\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (defines::PointerMotionMask | defines::ButtonPressMask | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mButtonReleaseMask)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7290\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (defines::PointerMotionMask | defines::ButtonPressMask | ButtonReleaseMask)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":345666,"byte_end":345688,"line_start":7292,"line_end":7292,"column_start":17,"column_end":39,"is_primary":true,"text":[{"text":" defines::GrabModeAsync,","highlight_start":17,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":345666,"byte_end":345675,"line_start":7292,"line_end":7292,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::GrabModeAsync,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7292:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7292\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::GrabModeAsync,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7292\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mGrabModeAsync,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7292\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m GrabModeAsync,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":345706,"byte_end":345728,"line_start":7293,"line_end":7293,"column_start":17,"column_end":39,"is_primary":true,"text":[{"text":" defines::GrabModeAsync,","highlight_start":17,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":345706,"byte_end":345715,"line_start":7293,"line_end":7293,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::GrabModeAsync,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7293:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7293\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::GrabModeAsync,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7293\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mGrabModeAsync,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7293\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m GrabModeAsync,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":345843,"byte_end":345863,"line_start":7296,"line_end":7296,"column_start":17,"column_end":37,"is_primary":true,"text":[{"text":" defines::CurrentTime,","highlight_start":17,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":345843,"byte_end":345852,"line_start":7296,"line_end":7296,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::CurrentTime,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7296:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7296\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::CurrentTime,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7296\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mCurrentTime,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7296\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m CurrentTime,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":346288,"byte_end":346308,"line_start":7304,"line_end":7304,"column_start":23,"column_end":43,"is_primary":true,"text":[{"text":" status == defines::GrabSuccess","highlight_start":23,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":346288,"byte_end":346297,"line_start":7304,"line_end":7304,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" status == defines::GrabSuccess","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7304:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7304\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m status == defines::GrabSuccess\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7304\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m status == \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mGrabSuccess\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7304\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m status == GrabSuccess\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":347279,"byte_end":347299,"line_start":7325,"line_end":7325,"column_start":29,"column_end":49,"is_primary":true,"text":[{"text":" (x * s + ox) as std::os::raw::c_long,","highlight_start":29,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":347279,"byte_end":347293,"line_start":7325,"line_end":7325,"column_start":29,"column_end":43,"is_primary":true,"text":[{"text":" (x * s + ox) as std::os::raw::c_long,","highlight_start":29,"highlight_end":43}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7325:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7325\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (x * s + ox) as std::os::raw::c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7325\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (x * s + ox) as \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_long,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7325\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (x * s + ox) as c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":347329,"byte_end":347349,"line_start":7326,"line_end":7326,"column_start":29,"column_end":49,"is_primary":true,"text":[{"text":" (y * s + oy) as std::os::raw::c_long,","highlight_start":29,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":347329,"byte_end":347343,"line_start":7326,"line_end":7326,"column_start":29,"column_end":43,"is_primary":true,"text":[{"text":" (y * s + oy) as std::os::raw::c_long,","highlight_start":29,"highlight_end":43}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7326:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7326\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (y * s + oy) as std::os::raw::c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7326\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m (y * s + oy) as \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_long,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7326\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m (y * s + oy) as c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":348930,"byte_end":348953,"line_start":7358,"line_end":7358,"column_start":47,"column_end":70,"is_primary":true,"text":[{"text":" fn handle_property_notify(&mut self, ev: &defines::XPropertyEvent) -> ProcessEventResult {","highlight_start":47,"highlight_end":70}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":348930,"byte_end":348939,"line_start":7358,"line_end":7358,"column_start":47,"column_end":56,"is_primary":true,"text":[{"text":" fn handle_property_notify(&mut self, ev: &defines::XPropertyEvent) -> ProcessEventResult {","highlight_start":47,"highlight_end":56}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7358:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn handle_property_notify(&mut self, ev: &defines::XPropertyEvent) -> ProcessEventResult {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m fn handle_property_notify(&mut self, ev: &\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXPropertyEvent) -> ProcessEventResult {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m fn handle_property_notify(&mut self, ev: &XPropertyEvent) -> ProcessEventResult {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":350475,"byte_end":350499,"line_start":7394,"line_end":7394,"column_start":21,"column_end":45,"is_primary":true,"text":[{"text":" defines::AnyPropertyType,","highlight_start":21,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":350475,"byte_end":350484,"line_start":7394,"line_end":7394,"column_start":21,"column_end":30,"is_primary":true,"text":[{"text":" defines::AnyPropertyType,","highlight_start":21,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7394:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7394\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::AnyPropertyType,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7394\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mAnyPropertyType,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7394\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m AnyPropertyType,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":351062,"byte_end":351082,"line_start":7406,"line_end":7406,"column_start":41,"column_end":61,"is_primary":true,"text":[{"text":" data.cast::(),","highlight_start":41,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":351062,"byte_end":351076,"line_start":7406,"line_end":7406,"column_start":41,"column_end":55,"is_primary":true,"text":[{"text":" data.cast::(),","highlight_start":41,"highlight_end":55}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7406:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m data.cast::(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m data.cast::<\u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_long>(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m data.cast::(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":352220,"byte_end":352280,"line_start":7437,"line_end":7437,"column_start":13,"column_end":73,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::WindowStateSource::Os,","highlight_start":13,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":352220,"byte_end":352252,"line_start":7437,"line_end":7437,"column_start":13,"column_end":45,"is_primary":true,"text":[{"text":" crate::desktop::shell2::common::event::WindowStateSource::Os,","highlight_start":13,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7437:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7437\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m crate::desktop::shell2::common::event::WindowStateSource::Os,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7437\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mcrate::desktop::shell2::common::\u001b[0m\u001b[0mevent::WindowStateSource::Os,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7437\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event::WindowStateSource::Os,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"hidden lifetime parameters in types are deprecated","code":{"code":"elided_lifetimes_in_paths","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":369285,"byte_end":369319,"line_start":7830,"line_end":7830,"column_start":50,"column_end":84,"is_primary":false,"text":[{"text":" fn prepare_callback_invocation(&mut self) -> event::InvokeSingleCallbackBorrows {","highlight_start":50,"highlight_end":84}],"label":"expected lifetime parameter","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":369292,"byte_end":369319,"line_start":7830,"line_end":7830,"column_start":57,"column_end":84,"is_primary":true,"text":[{"text":" fn prepare_callback_invocation(&mut self) -> event::InvokeSingleCallbackBorrows {","highlight_start":57,"highlight_end":84}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"indicate the anonymous lifetime","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":369319,"byte_end":369319,"line_start":7830,"line_end":7830,"column_start":84,"column_end":84,"is_primary":true,"text":[{"text":" fn prepare_callback_invocation(&mut self) -> event::InvokeSingleCallbackBorrows {","highlight_start":84,"highlight_end":84}],"label":null,"suggested_replacement":"<'_>","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: hidden lifetime parameters in types are deprecated\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7830:57\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7830\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn prepare_callback_invocation(&mut self) -> event::InvokeSingleCallbackBorrows {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m-------\u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12mexpected lifetime parameter\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: indicate the anonymous lifetime\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7830\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m fn prepare_callback_invocation(&mut self) -> event::InvokeSingleCallbackBorrows\u001b[0m\u001b[0m\u001b[38;5;10m<'_>\u001b[0m\u001b[0m {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m++++\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":373638,"byte_end":373684,"line_start":7944,"line_end":7944,"column_start":48,"column_end":94,"is_primary":true,"text":[{"text":" fn queue_window_create(&mut self, options: azul_layout::window_state::WindowCreateOptions) {","highlight_start":48,"highlight_end":94}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":373638,"byte_end":373665,"line_start":7944,"line_end":7944,"column_start":48,"column_end":75,"is_primary":true,"text":[{"text":" fn queue_window_create(&mut self, options: azul_layout::window_state::WindowCreateOptions) {","highlight_start":48,"highlight_end":75}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7944:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7944\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn queue_window_create(&mut self, options: azul_layout::window_state::WindowCreateOptions) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7944\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m fn queue_window_create(&mut self, options: \u001b[0m\u001b[0m\u001b[38;5;9mazul_layout::window_state::\u001b[0m\u001b[0mWindowCreateOptions) {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7944\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m fn queue_window_create(&mut self, options: WindowCreateOptions) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":373884,"byte_end":373916,"line_start":7953,"line_end":7953,"column_start":19,"column_end":51,"is_primary":true,"text":[{"text":" position: azul_core::geom::LogicalPosition,","highlight_start":19,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":373884,"byte_end":373901,"line_start":7953,"line_end":7953,"column_start":19,"column_end":36,"is_primary":true,"text":[{"text":" position: azul_core::geom::LogicalPosition,","highlight_start":19,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7953:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m position: azul_core::geom::LogicalPosition,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m position: \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m position: LogicalPosition,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":374801,"byte_end":374833,"line_start":7982,"line_end":7982,"column_start":19,"column_end":51,"is_primary":true,"text":[{"text":" position: azul_core::geom::LogicalPosition,","highlight_start":19,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":374801,"byte_end":374818,"line_start":7982,"line_end":7982,"column_start":19,"column_end":36,"is_primary":true,"text":[{"text":" position: azul_core::geom::LogicalPosition,","highlight_start":19,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7982:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7982\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m position: azul_core::geom::LogicalPosition,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7982\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m position: \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7982\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m position: LogicalPosition,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":376439,"byte_end":376471,"line_start":8024,"line_end":8024,"column_start":19,"column_end":51,"is_primary":true,"text":[{"text":" position: azul_core::geom::LogicalPosition,","highlight_start":19,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":376439,"byte_end":376456,"line_start":8024,"line_end":8024,"column_start":19,"column_end":36,"is_primary":true,"text":[{"text":" position: azul_core::geom::LogicalPosition,","highlight_start":19,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8024:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8024\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m position: azul_core::geom::LogicalPosition,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8024\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m position: \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8024\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m position: LogicalPosition,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":376735,"byte_end":376772,"line_start":8030,"line_end":8030,"column_start":17,"column_end":54,"is_primary":true,"text":[{"text":" azul_core::geom::LogicalPosition::new(pos.x as f32, pos.y as f32)","highlight_start":17,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":376735,"byte_end":376752,"line_start":8030,"line_end":8030,"column_start":17,"column_end":34,"is_primary":true,"text":[{"text":" azul_core::geom::LogicalPosition::new(pos.x as f32, pos.y as f32)","highlight_start":17,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8030:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8030\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m azul_core::geom::LogicalPosition::new(pos.x as f32, pos.y as f32)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8030\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition::new(pos.x as f32, pos.y as f32)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8030\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogicalPosition::new(pos.x as f32, pos.y as f32)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":376832,"byte_end":376869,"line_start":8032,"line_end":8032,"column_start":18,"column_end":55,"is_primary":true,"text":[{"text":" _ => azul_core::geom::LogicalPosition::new(0.0, 0.0),","highlight_start":18,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":376832,"byte_end":376849,"line_start":8032,"line_end":8032,"column_start":18,"column_end":35,"is_primary":true,"text":[{"text":" _ => azul_core::geom::LogicalPosition::new(0.0, 0.0),","highlight_start":18,"highlight_end":35}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8032:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8032\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m _ => azul_core::geom::LogicalPosition::new(0.0, 0.0),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8032\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m _ => \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition::new(0.0, 0.0),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8032\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m _ => LogicalPosition::new(0.0, 0.0),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":377340,"byte_end":377377,"line_start":8042,"line_end":8042,"column_start":13,"column_end":50,"is_primary":true,"text":[{"text":" azul_core::geom::LogicalPosition::new(position.x * scale, position.y * scale);","highlight_start":13,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":377340,"byte_end":377357,"line_start":8042,"line_end":8042,"column_start":13,"column_end":30,"is_primary":true,"text":[{"text":" azul_core::geom::LogicalPosition::new(position.x * scale, position.y * scale);","highlight_start":13,"highlight_end":30}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8042:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8042\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m azul_core::geom::LogicalPosition::new(position.x * scale, position.y * scale);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8042\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition::new(position.x * scale, position.y * scale);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8042\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogicalPosition::new(position.x * scale, position.y * scale);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":377661,"byte_end":377698,"line_start":8048,"line_end":8048,"column_start":17,"column_end":54,"is_primary":true,"text":[{"text":" azul_core::geom::LogicalPosition::new(a.origin.x * scale, a.origin.y * scale),","highlight_start":17,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":377661,"byte_end":377678,"line_start":8048,"line_end":8048,"column_start":17,"column_end":34,"is_primary":true,"text":[{"text":" azul_core::geom::LogicalPosition::new(a.origin.x * scale, a.origin.y * scale),","highlight_start":17,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8048:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8048\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m azul_core::geom::LogicalPosition::new(a.origin.x * scale, a.origin.y * scale),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8048\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalPosition::new(a.origin.x * scale, a.origin.y * scale),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8048\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogicalPosition::new(a.origin.x * scale, a.origin.y * scale),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":377756,"byte_end":377789,"line_start":8049,"line_end":8049,"column_start":17,"column_end":50,"is_primary":true,"text":[{"text":" azul_core::geom::LogicalSize::new(a.size.width * scale, a.size.height * scale),","highlight_start":17,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":377756,"byte_end":377773,"line_start":8049,"line_end":8049,"column_start":17,"column_end":34,"is_primary":true,"text":[{"text":" azul_core::geom::LogicalSize::new(a.size.width * scale, a.size.height * scale),","highlight_start":17,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8049:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8049\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m azul_core::geom::LogicalSize::new(a.size.width * scale, a.size.height * scale),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8049\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mazul_core::geom::\u001b[0m\u001b[0mLogicalSize::new(a.size.width * scale, a.size.height * scale),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8049\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogicalSize::new(a.size.width * scale, a.size.height * scale),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":389316,"byte_end":389341,"line_start":8313,"line_end":8313,"column_start":25,"column_end":50,"is_primary":true,"text":[{"text":" defines::XN_SPOT_LOCATION.as_ptr() as *const c_char,","highlight_start":25,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":389316,"byte_end":389325,"line_start":8313,"line_end":8313,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" defines::XN_SPOT_LOCATION.as_ptr() as *const c_char,","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8313:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8313\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XN_SPOT_LOCATION.as_ptr() as *const c_char,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8313\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXN_SPOT_LOCATION.as_ptr() as *const c_char,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8313\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XN_SPOT_LOCATION.as_ptr() as *const c_char,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":389642,"byte_end":389672,"line_start":8320,"line_end":8320,"column_start":29,"column_end":59,"is_primary":true,"text":[{"text":" defines::XN_PREEDIT_ATTRIBUTES.as_ptr() as *const c_char,","highlight_start":29,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":389642,"byte_end":389651,"line_start":8320,"line_end":8320,"column_start":29,"column_end":38,"is_primary":true,"text":[{"text":" defines::XN_PREEDIT_ATTRIBUTES.as_ptr() as *const c_char,","highlight_start":29,"highlight_end":38}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8320:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8320\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m defines::XN_PREEDIT_ATTRIBUTES.as_ptr() as *const c_char,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8320\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXN_PREEDIT_ATTRIBUTES.as_ptr() as *const c_char,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8320\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XN_PREEDIT_ATTRIBUTES.as_ptr() as *const c_char,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391482,"byte_end":391510,"line_start":8363,"line_end":8363,"column_start":24,"column_end":52,"is_primary":true,"text":[{"text":" let mut event: defines::XClientMessageEvent = std::mem::zeroed();","highlight_start":24,"highlight_end":52}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391482,"byte_end":391491,"line_start":8363,"line_end":8363,"column_start":24,"column_end":33,"is_primary":true,"text":[{"text":" let mut event: defines::XClientMessageEvent = std::mem::zeroed();","highlight_start":24,"highlight_end":33}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8363:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut event: defines::XClientMessageEvent = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut event: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXClientMessageEvent = std::mem::zeroed();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut event: XClientMessageEvent = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391555,"byte_end":391577,"line_start":8364,"line_end":8364,"column_start":23,"column_end":45,"is_primary":true,"text":[{"text":" event.type_ = defines::ClientMessage;","highlight_start":23,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391555,"byte_end":391564,"line_start":8364,"line_end":8364,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" event.type_ = defines::ClientMessage;","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8364:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event.type_ = defines::ClientMessage;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m event.type_ = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mClientMessage;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event.type_ = ClientMessage;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391964,"byte_end":391995,"line_start":8378,"line_end":8378,"column_start":13,"column_end":44,"is_primary":true,"text":[{"text":" defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,","highlight_start":13,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391964,"byte_end":391973,"line_start":8378,"line_end":8378,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8378:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8378\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8378\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mSubstructureNotifyMask | defines::SubstructureRedirectMask,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8378\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m SubstructureNotifyMask | defines::SubstructureRedirectMask,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391998,"byte_end":392031,"line_start":8378,"line_end":8378,"column_start":47,"column_end":80,"is_primary":true,"text":[{"text":" defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,","highlight_start":47,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391998,"byte_end":392007,"line_start":8378,"line_end":8378,"column_start":47,"column_end":56,"is_primary":true,"text":[{"text":" defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,","highlight_start":47,"highlight_end":56}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8378:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8378\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8378\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m defines::SubstructureNotifyMask | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mSubstructureRedirectMask,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8378\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m defines::SubstructureNotifyMask | SubstructureRedirectMask,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392074,"byte_end":392089,"line_start":8379,"line_end":8379,"column_start":42,"column_end":57,"is_primary":true,"text":[{"text":" &mut event as *mut _ as *mut defines::XEvent,","highlight_start":42,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392074,"byte_end":392083,"line_start":8379,"line_end":8379,"column_start":42,"column_end":51,"is_primary":true,"text":[{"text":" &mut event as *mut _ as *mut defines::XEvent,","highlight_start":42,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8379:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8379\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut event as *mut _ as *mut defines::XEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8379\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m &mut event as *mut _ as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXEvent,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8379\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m &mut event as *mut _ as *mut XEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392176,"byte_end":392196,"line_start":8385,"line_end":8385,"column_start":17,"column_end":37,"is_primary":true,"text":[{"text":" action: std::os::raw::c_long,","highlight_start":17,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392176,"byte_end":392190,"line_start":8385,"line_end":8385,"column_start":17,"column_end":31,"is_primary":true,"text":[{"text":" action: std::os::raw::c_long,","highlight_start":17,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8385:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8385\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m action: std::os::raw::c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8385\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m action: \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_long,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8385\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m action: c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392421,"byte_end":392449,"line_start":8392,"line_end":8392,"column_start":24,"column_end":52,"is_primary":true,"text":[{"text":" let mut event: defines::XClientMessageEvent = std::mem::zeroed();","highlight_start":24,"highlight_end":52}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392421,"byte_end":392430,"line_start":8392,"line_end":8392,"column_start":24,"column_end":33,"is_primary":true,"text":[{"text":" let mut event: defines::XClientMessageEvent = std::mem::zeroed();","highlight_start":24,"highlight_end":33}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8392:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8392\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut event: defines::XClientMessageEvent = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8392\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut event: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXClientMessageEvent = std::mem::zeroed();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8392\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut event: XClientMessageEvent = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392494,"byte_end":392516,"line_start":8393,"line_end":8393,"column_start":23,"column_end":45,"is_primary":true,"text":[{"text":" event.type_ = defines::ClientMessage;","highlight_start":23,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392494,"byte_end":392503,"line_start":8393,"line_end":8393,"column_start":23,"column_end":32,"is_primary":true,"text":[{"text":" event.type_ = defines::ClientMessage;","highlight_start":23,"highlight_end":32}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8393:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event.type_ = defines::ClientMessage;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m event.type_ = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mClientMessage;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event.type_ = ClientMessage;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392915,"byte_end":392935,"line_start":8404,"line_end":8404,"column_start":20,"column_end":40,"is_primary":true,"text":[{"text":" as std::os::raw::c_long;","highlight_start":20,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392915,"byte_end":392929,"line_start":8404,"line_end":8404,"column_start":20,"column_end":34,"is_primary":true,"text":[{"text":" as std::os::raw::c_long;","highlight_start":20,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8404:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8404\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m as std::os::raw::c_long;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8404\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m as \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_long;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8404\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m as c_long;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":393096,"byte_end":393116,"line_start":8407,"line_end":8407,"column_start":20,"column_end":40,"is_primary":true,"text":[{"text":" as std::os::raw::c_long;","highlight_start":20,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":393096,"byte_end":393110,"line_start":8407,"line_end":8407,"column_start":20,"column_end":34,"is_primary":true,"text":[{"text":" as std::os::raw::c_long;","highlight_start":20,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8407:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8407\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m as std::os::raw::c_long;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8407\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m as \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_long;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8407\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m as c_long;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":393261,"byte_end":393292,"line_start":8415,"line_end":8415,"column_start":13,"column_end":44,"is_primary":true,"text":[{"text":" defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,","highlight_start":13,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":393261,"byte_end":393270,"line_start":8415,"line_end":8415,"column_start":13,"column_end":22,"is_primary":true,"text":[{"text":" defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,","highlight_start":13,"highlight_end":22}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8415:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8415\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8415\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mSubstructureNotifyMask | defines::SubstructureRedirectMask,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8415\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m SubstructureNotifyMask | defines::SubstructureRedirectMask,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":393295,"byte_end":393328,"line_start":8415,"line_end":8415,"column_start":47,"column_end":80,"is_primary":true,"text":[{"text":" defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,","highlight_start":47,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":393295,"byte_end":393304,"line_start":8415,"line_end":8415,"column_start":47,"column_end":56,"is_primary":true,"text":[{"text":" defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,","highlight_start":47,"highlight_end":56}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8415:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8415\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8415\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m defines::SubstructureNotifyMask | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mSubstructureRedirectMask,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8415\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m defines::SubstructureNotifyMask | SubstructureRedirectMask,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":393371,"byte_end":393386,"line_start":8416,"line_end":8416,"column_start":42,"column_end":57,"is_primary":true,"text":[{"text":" &mut event as *mut _ as *mut defines::XEvent,","highlight_start":42,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":393371,"byte_end":393380,"line_start":8416,"line_end":8416,"column_start":42,"column_end":51,"is_primary":true,"text":[{"text":" &mut event as *mut _ as *mut defines::XEvent,","highlight_start":42,"highlight_end":51}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8416:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8416\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut event as *mut _ as *mut defines::XEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8416\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m &mut event as *mut _ as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXEvent,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8416\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m &mut event as *mut _ as *mut XEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":393951,"byte_end":393972,"line_start":8428,"line_end":8428,"column_start":38,"column_end":59,"is_primary":true,"text":[{"text":" fn net_supported(&mut self) -> &[std::os::raw::c_ulong] {","highlight_start":38,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":393951,"byte_end":393965,"line_start":8428,"line_end":8428,"column_start":38,"column_end":52,"is_primary":true,"text":[{"text":" fn net_supported(&mut self) -> &[std::os::raw::c_ulong] {","highlight_start":38,"highlight_end":52}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8428:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8428\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fn net_supported(&mut self) -> &[std::os::raw::c_ulong] {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8428\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m fn net_supported(&mut self) -> &[\u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_ulong] {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8428\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m fn net_supported(&mut self) -> &[c_ulong] {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":394054,"byte_end":394075,"line_start":8430,"line_end":8430,"column_start":31,"column_end":52,"is_primary":true,"text":[{"text":" let mut list: Vec = Vec::new();","highlight_start":31,"highlight_end":52}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":394054,"byte_end":394068,"line_start":8430,"line_end":8430,"column_start":31,"column_end":45,"is_primary":true,"text":[{"text":" let mut list: Vec = Vec::new();","highlight_start":31,"highlight_end":45}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8430:31\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8430\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut list: Vec = Vec::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8430\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut list: Vec<\u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_ulong> = Vec::new();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8430\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut list: Vec = Vec::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":395055,"byte_end":395079,"line_start":8452,"line_end":8452,"column_start":25,"column_end":49,"is_primary":true,"text":[{"text":" defines::AnyPropertyType,","highlight_start":25,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":395055,"byte_end":395064,"line_start":8452,"line_end":8452,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" defines::AnyPropertyType,","highlight_start":25,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8452:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8452\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::AnyPropertyType,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8452\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mAnyPropertyType,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8452\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m AnyPropertyType,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":395755,"byte_end":395775,"line_start":8465,"line_end":8465,"column_start":45,"column_end":65,"is_primary":true,"text":[{"text":" data.cast::(),","highlight_start":45,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":395755,"byte_end":395769,"line_start":8465,"line_end":8465,"column_start":45,"column_end":59,"is_primary":true,"text":[{"text":" data.cast::(),","highlight_start":45,"highlight_end":59}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8465:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m data.cast::(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m data.cast::<\u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_long>(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m data.cast::(),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":395927,"byte_end":395948,"line_start":8468,"line_end":8468,"column_start":68,"column_end":89,"is_primary":true,"text":[{"text":" list.extend(atoms.iter().map(|a| *a as std::os::raw::c_ulong));","highlight_start":68,"highlight_end":89}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":395927,"byte_end":395941,"line_start":8468,"line_end":8468,"column_start":68,"column_end":82,"is_primary":true,"text":[{"text":" list.extend(atoms.iter().map(|a| *a as std::os::raw::c_ulong));","highlight_start":68,"highlight_end":82}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8468:68\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8468\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m list.extend(atoms.iter().map(|a| *a as std::os::raw::c_ulong));\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8468\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m list.extend(atoms.iter().map(|a| *a as \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_ulong));\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8468\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m list.extend(atoms.iter().map(|a| *a as c_ulong));\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":396760,"byte_end":396780,"line_start":8491,"line_end":8491,"column_start":17,"column_end":37,"is_primary":true,"text":[{"text":" x_root: std::os::raw::c_long,","highlight_start":17,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":396760,"byte_end":396774,"line_start":8491,"line_end":8491,"column_start":17,"column_end":31,"is_primary":true,"text":[{"text":" x_root: std::os::raw::c_long,","highlight_start":17,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8491:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8491\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m x_root: std::os::raw::c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8491\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m x_root: \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_long,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8491\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m x_root: c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":396798,"byte_end":396818,"line_start":8492,"line_end":8492,"column_start":17,"column_end":37,"is_primary":true,"text":[{"text":" y_root: std::os::raw::c_long,","highlight_start":17,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":396798,"byte_end":396812,"line_start":8492,"line_end":8492,"column_start":17,"column_end":31,"is_primary":true,"text":[{"text":" y_root: std::os::raw::c_long,","highlight_start":17,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8492:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8492\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m y_root: std::os::raw::c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8492\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m y_root: \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_long,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8492\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m y_root: c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":396839,"byte_end":396859,"line_start":8493,"line_end":8493,"column_start":20,"column_end":40,"is_primary":true,"text":[{"text":" direction: std::os::raw::c_long,","highlight_start":20,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":396839,"byte_end":396853,"line_start":8493,"line_end":8493,"column_start":20,"column_end":34,"is_primary":true,"text":[{"text":" direction: std::os::raw::c_long,","highlight_start":20,"highlight_end":34}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8493:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8493\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m direction: std::os::raw::c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8493\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m direction: \u001b[0m\u001b[0m\u001b[38;5;9mstd::os::raw::\u001b[0m\u001b[0mc_long,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8493\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m direction: c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":398056,"byte_end":398084,"line_start":8523,"line_end":8523,"column_start":28,"column_end":56,"is_primary":true,"text":[{"text":" let mut event: defines::XClientMessageEvent = std::mem::zeroed();","highlight_start":28,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":398056,"byte_end":398065,"line_start":8523,"line_end":8523,"column_start":28,"column_end":37,"is_primary":true,"text":[{"text":" let mut event: defines::XClientMessageEvent = std::mem::zeroed();","highlight_start":28,"highlight_end":37}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8523:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8523\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut event: defines::XClientMessageEvent = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8523\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let mut event: \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXClientMessageEvent = std::mem::zeroed();\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8523\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let mut event: XClientMessageEvent = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":398133,"byte_end":398155,"line_start":8524,"line_end":8524,"column_start":27,"column_end":49,"is_primary":true,"text":[{"text":" event.type_ = defines::ClientMessage;","highlight_start":27,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":398133,"byte_end":398142,"line_start":8524,"line_end":8524,"column_start":27,"column_end":36,"is_primary":true,"text":[{"text":" event.type_ = defines::ClientMessage;","highlight_start":27,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8524:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8524\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event.type_ = defines::ClientMessage;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8524\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m event.type_ = \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mClientMessage;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8524\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m event.type_ = ClientMessage;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":398627,"byte_end":398658,"line_start":8538,"line_end":8538,"column_start":17,"column_end":48,"is_primary":true,"text":[{"text":" defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,","highlight_start":17,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":398627,"byte_end":398636,"line_start":8538,"line_end":8538,"column_start":17,"column_end":26,"is_primary":true,"text":[{"text":" defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,","highlight_start":17,"highlight_end":26}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8538:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8538\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8538\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mSubstructureNotifyMask | defines::SubstructureRedirectMask,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8538\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m SubstructureNotifyMask | defines::SubstructureRedirectMask,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":398661,"byte_end":398694,"line_start":8538,"line_end":8538,"column_start":51,"column_end":84,"is_primary":true,"text":[{"text":" defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,","highlight_start":51,"highlight_end":84}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":398661,"byte_end":398670,"line_start":8538,"line_end":8538,"column_start":51,"column_end":60,"is_primary":true,"text":[{"text":" defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,","highlight_start":51,"highlight_end":60}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8538:51\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8538\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8538\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m defines::SubstructureNotifyMask | \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mSubstructureRedirectMask,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8538\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m defines::SubstructureNotifyMask | SubstructureRedirectMask,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":398741,"byte_end":398756,"line_start":8539,"line_end":8539,"column_start":46,"column_end":61,"is_primary":true,"text":[{"text":" &mut event as *mut _ as *mut defines::XEvent,","highlight_start":46,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":398741,"byte_end":398750,"line_start":8539,"line_end":8539,"column_start":46,"column_end":55,"is_primary":true,"text":[{"text":" &mut event as *mut _ as *mut defines::XEvent,","highlight_start":46,"highlight_end":55}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8539:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8539\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut event as *mut _ as *mut defines::XEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8539\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m &mut event as *mut _ as *mut \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXEvent,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8539\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m &mut event as *mut _ as *mut XEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":432102,"byte_end":432130,"line_start":9360,"line_end":9360,"column_start":65,"column_end":93,"is_primary":true,"text":[{"text":"unsafe fn handle_xi_gesture_event(win: &mut X11Window, cookie: &defines::XGenericEventCookie) {","highlight_start":65,"highlight_end":93}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":432102,"byte_end":432111,"line_start":9360,"line_end":9360,"column_start":65,"column_end":74,"is_primary":true,"text":[{"text":"unsafe fn handle_xi_gesture_event(win: &mut X11Window, cookie: &defines::XGenericEventCookie) {","highlight_start":65,"highlight_end":74}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9360:65\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9360\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn handle_xi_gesture_event(win: &mut X11Window, cookie: &defines::XGenericEventCookie) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9360\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0munsafe fn handle_xi_gesture_event(win: &mut X11Window, cookie: &\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXGenericEventCookie) {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9360\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0munsafe fn handle_xi_gesture_event(win: &mut X11Window, cookie: &XGenericEventCookie) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":432685,"byte_end":432714,"line_start":9373,"line_end":9373,"column_start":9,"column_end":38,"is_primary":true,"text":[{"text":" defines::XI_GesturePinchBegin => {","highlight_start":9,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":432685,"byte_end":432694,"line_start":9373,"line_end":9373,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" defines::XI_GesturePinchBegin => {","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9373:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9373\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_GesturePinchBegin => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9373\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GesturePinchBegin => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9373\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_GesturePinchBegin => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":432788,"byte_end":432818,"line_start":9376,"line_end":9376,"column_start":9,"column_end":39,"is_primary":true,"text":[{"text":" defines::XI_GesturePinchUpdate => {","highlight_start":9,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":432788,"byte_end":432797,"line_start":9376,"line_end":9376,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" defines::XI_GesturePinchUpdate => {","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9376:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9376\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_GesturePinchUpdate => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9376\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GesturePinchUpdate => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9376\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_GesturePinchUpdate => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":432870,"byte_end":432898,"line_start":9377,"line_end":9377,"column_start":47,"column_end":75,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIGesturePinchEvent);","highlight_start":47,"highlight_end":75}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":432870,"byte_end":432879,"line_start":9377,"line_end":9377,"column_start":47,"column_end":56,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIGesturePinchEvent);","highlight_start":47,"highlight_end":56}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9377:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9377\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ev = &*(cookie.data as *const defines::XIGesturePinchEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9377\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let ev = &*(cookie.data as *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIGesturePinchEvent);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9377\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let ev = &*(cookie.data as *const XIGesturePinchEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":434227,"byte_end":434254,"line_start":9406,"line_end":9406,"column_start":9,"column_end":36,"is_primary":true,"text":[{"text":" defines::XI_GesturePinchEnd => {","highlight_start":9,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":434227,"byte_end":434236,"line_start":9406,"line_end":9406,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" defines::XI_GesturePinchEnd => {","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9406:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_GesturePinchEnd => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GesturePinchEnd => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_GesturePinchEnd => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":434306,"byte_end":434334,"line_start":9407,"line_end":9407,"column_start":47,"column_end":75,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIGesturePinchEvent);","highlight_start":47,"highlight_end":75}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":434306,"byte_end":434315,"line_start":9407,"line_end":9407,"column_start":47,"column_end":56,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIGesturePinchEvent);","highlight_start":47,"highlight_end":56}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9407:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9407\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ev = &*(cookie.data as *const defines::XIGesturePinchEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9407\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let ev = &*(cookie.data as *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIGesturePinchEvent);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9407\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let ev = &*(cookie.data as *const XIGesturePinchEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":434603,"byte_end":434640,"line_start":9411,"line_end":9411,"column_start":44,"column_end":81,"is_primary":true,"text":[{"text":" let was_cancelled = ev.flags & defines::XIGesturePinchEventCancelled != 0;","highlight_start":44,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":434603,"byte_end":434612,"line_start":9411,"line_end":9411,"column_start":44,"column_end":53,"is_primary":true,"text":[{"text":" let was_cancelled = ev.flags & defines::XIGesturePinchEventCancelled != 0;","highlight_start":44,"highlight_end":53}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9411:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9411\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let was_cancelled = ev.flags & defines::XIGesturePinchEventCancelled != 0;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9411\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let was_cancelled = ev.flags & \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIGesturePinchEventCancelled != 0;\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9411\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let was_cancelled = ev.flags & XIGesturePinchEventCancelled != 0;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":435418,"byte_end":435447,"line_start":9429,"line_end":9429,"column_start":9,"column_end":38,"is_primary":true,"text":[{"text":" defines::XI_GestureSwipeBegin => {","highlight_start":9,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":435418,"byte_end":435427,"line_start":9429,"line_end":9429,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" defines::XI_GestureSwipeBegin => {","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9429:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9429\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_GestureSwipeBegin => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9429\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GestureSwipeBegin => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9429\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_GestureSwipeBegin => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":435519,"byte_end":435549,"line_start":9432,"line_end":9432,"column_start":9,"column_end":39,"is_primary":true,"text":[{"text":" defines::XI_GestureSwipeUpdate => {","highlight_start":9,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":435519,"byte_end":435528,"line_start":9432,"line_end":9432,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" defines::XI_GestureSwipeUpdate => {","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9432:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9432\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_GestureSwipeUpdate => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9432\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GestureSwipeUpdate => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9432\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_GestureSwipeUpdate => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":435601,"byte_end":435629,"line_start":9433,"line_end":9433,"column_start":47,"column_end":75,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIGestureSwipeEvent);","highlight_start":47,"highlight_end":75}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":435601,"byte_end":435610,"line_start":9433,"line_end":9433,"column_start":47,"column_end":56,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIGestureSwipeEvent);","highlight_start":47,"highlight_end":56}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9433:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9433\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ev = &*(cookie.data as *const defines::XIGestureSwipeEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9433\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let ev = &*(cookie.data as *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIGestureSwipeEvent);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9433\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let ev = &*(cookie.data as *const XIGestureSwipeEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":435766,"byte_end":435793,"line_start":9437,"line_end":9437,"column_start":9,"column_end":36,"is_primary":true,"text":[{"text":" defines::XI_GestureSwipeEnd => {","highlight_start":9,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":435766,"byte_end":435775,"line_start":9437,"line_end":9437,"column_start":9,"column_end":18,"is_primary":true,"text":[{"text":" defines::XI_GestureSwipeEnd => {","highlight_start":9,"highlight_end":18}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9437:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9437\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::XI_GestureSwipeEnd => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9437\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXI_GestureSwipeEnd => {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9437\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m XI_GestureSwipeEnd => {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":435845,"byte_end":435873,"line_start":9438,"line_end":9438,"column_start":47,"column_end":75,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIGestureSwipeEvent);","highlight_start":47,"highlight_end":75}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":435845,"byte_end":435854,"line_start":9438,"line_end":9438,"column_start":47,"column_end":56,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIGestureSwipeEvent);","highlight_start":47,"highlight_end":56}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9438:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9438\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ev = &*(cookie.data as *const defines::XIGestureSwipeEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9438\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let ev = &*(cookie.data as *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIGestureSwipeEvent);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9438\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let ev = &*(cookie.data as *const XIGestureSwipeEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":436141,"byte_end":436178,"line_start":9443,"line_end":9443,"column_start":27,"column_end":64,"is_primary":true,"text":[{"text":" if ev.flags & defines::XIGestureSwipeEventCancelled != 0 {","highlight_start":27,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":436141,"byte_end":436150,"line_start":9443,"line_end":9443,"column_start":27,"column_end":36,"is_primary":true,"text":[{"text":" if ev.flags & defines::XIGestureSwipeEventCancelled != 0 {","highlight_start":27,"highlight_end":36}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9443:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9443\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if ev.flags & defines::XIGestureSwipeEventCancelled != 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9443\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m if ev.flags & \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIGestureSwipeEventCancelled != 0 {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9443\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m if ev.flags & XIGestureSwipeEventCancelled != 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":437336,"byte_end":437364,"line_start":9475,"line_end":9475,"column_start":62,"column_end":90,"is_primary":true,"text":[{"text":"unsafe fn handle_xi_raw_motion(win: &mut X11Window, cookie: &defines::XGenericEventCookie) {","highlight_start":62,"highlight_end":90}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":437336,"byte_end":437345,"line_start":9475,"line_end":9475,"column_start":62,"column_end":71,"is_primary":true,"text":[{"text":"unsafe fn handle_xi_raw_motion(win: &mut X11Window, cookie: &defines::XGenericEventCookie) {","highlight_start":62,"highlight_end":71}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9475:62\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn handle_xi_raw_motion(win: &mut X11Window, cookie: &defines::XGenericEventCookie) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0munsafe fn handle_xi_raw_motion(win: &mut X11Window, cookie: &\u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXGenericEventCookie) {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0munsafe fn handle_xi_raw_motion(win: &mut X11Window, cookie: &XGenericEventCookie) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":437541,"byte_end":437560,"line_start":9484,"line_end":9484,"column_start":39,"column_end":58,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIRawEvent);","highlight_start":39,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":437541,"byte_end":437550,"line_start":9484,"line_end":9484,"column_start":39,"column_end":48,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIRawEvent);","highlight_start":39,"highlight_end":48}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9484:39\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9484\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ev = &*(cookie.data as *const defines::XIRawEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9484\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m let ev = &*(cookie.data as *const \u001b[0m\u001b[0m\u001b[38;5;9mdefines::\u001b[0m\u001b[0mXIRawEvent);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9484\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m let ev = &*(cookie.data as *const XIRawEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":88345,"byte_end":88431,"line_start":1978,"line_end":1978,"column_start":9,"column_end":95,"is_primary":true,"text":[{"text":" std::sync::Arc>,","highlight_start":9,"highlight_end":95}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":88345,"byte_end":88356,"line_start":1978,"line_end":1978,"column_start":9,"column_end":20,"is_primary":true,"text":[{"text":" std::sync::Arc>,","highlight_start":9,"highlight_end":20}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:1978:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1978\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::sync::Arc>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1978\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mstd::sync::\u001b[0m\u001b[0mArc>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1978\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m Arc>,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":91329,"byte_end":91365,"line_start":2062,"line_end":2062,"column_start":9,"column_end":45,"is_primary":true,"text":[{"text":" debug_server::LogCategory::EventLoop,","highlight_start":9,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":91329,"byte_end":91343,"line_start":2062,"line_end":2062,"column_start":9,"column_end":23,"is_primary":true,"text":[{"text":" debug_server::LogCategory::EventLoop,","highlight_start":9,"highlight_end":23}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2062:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2062\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m debug_server::LogCategory::EventLoop,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2062\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::EventLoop,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2062\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::EventLoop,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":93609,"byte_end":93645,"line_start":2127,"line_end":2127,"column_start":9,"column_end":45,"is_primary":true,"text":[{"text":" debug_server::LogCategory::EventLoop,","highlight_start":9,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":93609,"byte_end":93623,"line_start":2127,"line_end":2127,"column_start":9,"column_end":23,"is_primary":true,"text":[{"text":" debug_server::LogCategory::EventLoop,","highlight_start":9,"highlight_end":23}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2127:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2127\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m debug_server::LogCategory::EventLoop,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2127\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::EventLoop,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2127\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::EventLoop,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":95910,"byte_end":95946,"line_start":2184,"line_end":2184,"column_start":17,"column_end":53,"is_primary":true,"text":[{"text":" debug_server::LogCategory::EventLoop,","highlight_start":17,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":95910,"byte_end":95924,"line_start":2184,"line_end":2184,"column_start":17,"column_end":31,"is_primary":true,"text":[{"text":" debug_server::LogCategory::EventLoop,","highlight_start":17,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2184:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m debug_server::LogCategory::EventLoop,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::EventLoop,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::EventLoop,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":98548,"byte_end":98584,"line_start":2240,"line_end":2240,"column_start":25,"column_end":61,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Callbacks,","highlight_start":25,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":98548,"byte_end":98562,"line_start":2240,"line_end":2240,"column_start":25,"column_end":39,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Callbacks,","highlight_start":25,"highlight_end":39}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2240:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2240\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m debug_server::LogCategory::Callbacks,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2240\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::Callbacks,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2240\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::Callbacks,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":100314,"byte_end":100347,"line_start":2281,"line_end":2281,"column_start":25,"column_end":58,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":25,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":100314,"byte_end":100328,"line_start":2281,"line_end":2281,"column_start":25,"column_end":39,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":25,"highlight_end":39}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2281:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2281\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m debug_server::LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2281\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::Window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2281\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":101358,"byte_end":101391,"line_start":2305,"line_end":2305,"column_start":33,"column_end":66,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":33,"highlight_end":66}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":101358,"byte_end":101372,"line_start":2305,"line_end":2305,"column_start":33,"column_end":47,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":33,"highlight_end":47}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2305:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2305\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m debug_server::LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2305\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::Window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2305\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":102879,"byte_end":102912,"line_start":2333,"line_end":2333,"column_start":41,"column_end":74,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":41,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":102879,"byte_end":102893,"line_start":2333,"line_end":2333,"column_start":41,"column_end":55,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":41,"highlight_end":55}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2333:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2333\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m debug_server::LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2333\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::Window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2333\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":103674,"byte_end":103707,"line_start":2348,"line_end":2348,"column_start":41,"column_end":74,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":41,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":103674,"byte_end":103688,"line_start":2348,"line_end":2348,"column_start":41,"column_end":55,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":41,"highlight_end":55}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2348:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2348\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m debug_server::LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2348\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::Window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2348\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":104248,"byte_end":104281,"line_start":2360,"line_end":2360,"column_start":33,"column_end":66,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":33,"highlight_end":66}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":104248,"byte_end":104262,"line_start":2360,"line_end":2360,"column_start":33,"column_end":47,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":33,"highlight_end":47}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2360:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2360\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m debug_server::LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2360\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::Window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2360\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":105590,"byte_end":105623,"line_start":2379,"line_end":2379,"column_start":41,"column_end":74,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":41,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":105590,"byte_end":105604,"line_start":2379,"line_end":2379,"column_start":41,"column_end":55,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":41,"highlight_end":55}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2379:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2379\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m debug_server::LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2379\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::Window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2379\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":107950,"byte_end":107983,"line_start":2421,"line_end":2421,"column_start":41,"column_end":74,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":41,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":107950,"byte_end":107964,"line_start":2421,"line_end":2421,"column_start":41,"column_end":55,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":41,"highlight_end":55}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2421:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2421\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m debug_server::LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2421\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::Window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2421\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":108753,"byte_end":108786,"line_start":2436,"line_end":2436,"column_start":41,"column_end":74,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":41,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":108753,"byte_end":108767,"line_start":2436,"line_end":2436,"column_start":41,"column_end":55,"is_primary":true,"text":[{"text":" debug_server::LogCategory::Window,","highlight_start":41,"highlight_end":55}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2436:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2436\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m debug_server::LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2436\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::Window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2436\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::Window,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":110894,"byte_end":110930,"line_start":2481,"line_end":2481,"column_start":9,"column_end":45,"is_primary":true,"text":[{"text":" debug_server::LogCategory::EventLoop,","highlight_start":9,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":110894,"byte_end":110908,"line_start":2481,"line_end":2481,"column_start":9,"column_end":23,"is_primary":true,"text":[{"text":" debug_server::LogCategory::EventLoop,","highlight_start":9,"highlight_end":23}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2481:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2481\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m debug_server::LogCategory::EventLoop,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2481\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::EventLoop,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2481\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::EventLoop,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":111384,"byte_end":111420,"line_start":2497,"line_end":2497,"column_start":17,"column_end":53,"is_primary":true,"text":[{"text":" debug_server::LogCategory::EventLoop,","highlight_start":17,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":111384,"byte_end":111398,"line_start":2497,"line_end":2497,"column_start":17,"column_end":31,"is_primary":true,"text":[{"text":" debug_server::LogCategory::EventLoop,","highlight_start":17,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2497:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2497\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m debug_server::LogCategory::EventLoop,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2497\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::EventLoop,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2497\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::EventLoop,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":111617,"byte_end":111653,"line_start":2504,"line_end":2504,"column_start":17,"column_end":53,"is_primary":true,"text":[{"text":" debug_server::LogCategory::EventLoop,","highlight_start":17,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":111617,"byte_end":111631,"line_start":2504,"line_end":2504,"column_start":17,"column_end":31,"is_primary":true,"text":[{"text":" debug_server::LogCategory::EventLoop,","highlight_start":17,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2504:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2504\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m debug_server::LogCategory::EventLoop,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2504\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::EventLoop,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2504\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::EventLoop,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"unnecessary qualification","code":{"code":"unused_qualifications","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":111845,"byte_end":111881,"line_start":2511,"line_end":2511,"column_start":17,"column_end":53,"is_primary":true,"text":[{"text":" debug_server::LogCategory::EventLoop,","highlight_start":17,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unnecessary path segments","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":111845,"byte_end":111859,"line_start":2511,"line_end":2511,"column_start":17,"column_end":31,"is_primary":true,"text":[{"text":" debug_server::LogCategory::EventLoop,","highlight_start":17,"highlight_end":31}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unnecessary qualification\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2511:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2511\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m debug_server::LogCategory::EventLoop,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: remove the unnecessary path segments\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2511\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9m- \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;9mdebug_server::\u001b[0m\u001b[0mLogCategory::EventLoop,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2511\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[38;5;10m+ \u001b[0m\u001b[0m LogCategory::EventLoop,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/display.rs","byte_start":27344,"byte_end":27367,"line_start":751,"line_end":751,"column_start":51,"column_end":74,"is_primary":true,"text":[{"text":" let refresh = (mode.dot_clock as u64) / (h_total * v_total);","highlight_start":51,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the lint level is defined here","code":null,"level":"note","spans":[{"file_name":"dll/src/lib.rs","byte_start":2103,"byte_end":2124,"line_start":50,"line_end":50,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":" trivial_numeric_casts,","highlight_start":5,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/display.rs:751:51\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m751\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m let refresh = (mode.dot_clock as u64) / (h_total * v_total);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: the lint level is defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/lib.rs:50:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m50\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m trivial_numeric_casts,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut v4l2_capability` as `*mut v4l2_capability`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":11697,"byte_end":11715,"line_start":365,"line_end":365,"column_start":45,"column_end":63,"is_primary":true,"text":[{"text":" if (f.ioctl)(fd, vidioc_querycap(), &mut cap as *mut _ as *mut c_void) < 0 {","highlight_start":45,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the lint level is defined here","code":null,"level":"note","spans":[{"file_name":"dll/src/lib.rs","byte_start":2084,"byte_end":2097,"line_start":49,"line_end":49,"column_start":5,"column_end":18,"is_primary":true,"text":[{"text":" trivial_casts,","highlight_start":5,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut v4l2_capability` as `*mut v4l2_capability`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:365:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m365\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (f.ioctl)(fd, vidioc_querycap(), &mut cap as *mut _ as *mut c_void) < 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: the lint level is defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/lib.rs:49:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m49\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m trivial_casts,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut v4l2_format` as `*mut v4l2_format`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":12557,"byte_end":12575,"line_start":385,"line_end":385,"column_start":42,"column_end":60,"is_primary":true,"text":[{"text":" if (f.ioctl)(fd, vidioc_s_fmt(), &mut fmt as *mut _ as *mut c_void) < 0 {","highlight_start":42,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut v4l2_format` as `*mut v4l2_format`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:385:42\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m385\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (f.ioctl)(fd, vidioc_s_fmt(), &mut fmt as *mut _ as *mut c_void) < 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut v4l2_streamparm` as `*mut v4l2_streamparm`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":13887,"byte_end":13906,"line_start":415,"line_end":415,"column_start":47,"column_end":66,"is_primary":true,"text":[{"text":" if (f.ioctl)(fd, vidioc_s_parm(), &mut parm as *mut _ as *mut c_void) < 0 {","highlight_start":47,"highlight_end":66}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut v4l2_streamparm` as `*mut v4l2_streamparm`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:415:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m415\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (f.ioctl)(fd, vidioc_s_parm(), &mut parm as *mut _ as *mut c_void) < 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut v4l2_requestbuffers` as `*mut v4l2_requestbuffers`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":14661,"byte_end":14679,"line_start":436,"line_end":436,"column_start":44,"column_end":62,"is_primary":true,"text":[{"text":" if (f.ioctl)(fd, vidioc_reqbufs(), &mut req as *mut _ as *mut c_void) < 0 || req.count == 0","highlight_start":44,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut v4l2_requestbuffers` as `*mut v4l2_requestbuffers`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:436:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m436\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (f.ioctl)(fd, vidioc_reqbufs(), &mut req as *mut _ as *mut c_void) < 0 || req.count == 0\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut v4l2_buffer` as `*mut v4l2_buffer`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":15181,"byte_end":15199,"line_start":448,"line_end":448,"column_start":49,"column_end":67,"is_primary":true,"text":[{"text":" if (f.ioctl)(fd, vidioc_querybuf(), &mut buf as *mut _ as *mut c_void) < 0 {","highlight_start":49,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut v4l2_buffer` as `*mut v4l2_buffer`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:448:49\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m448\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (f.ioctl)(fd, vidioc_querybuf(), &mut buf as *mut _ as *mut c_void) < 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut v4l2_buffer` as `*mut v4l2_buffer`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":15982,"byte_end":16000,"line_start":469,"line_end":469,"column_start":45,"column_end":63,"is_primary":true,"text":[{"text":" if (f.ioctl)(fd, vidioc_qbuf(), &mut buf as *mut _ as *mut c_void) < 0 {","highlight_start":45,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut v4l2_buffer` as `*mut v4l2_buffer`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:469:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (f.ioctl)(fd, vidioc_qbuf(), &mut buf as *mut _ as *mut c_void) < 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut i32` as `*mut i32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":16281,"byte_end":16298,"line_start":477,"line_end":477,"column_start":45,"column_end":62,"is_primary":true,"text":[{"text":" if (f.ioctl)(fd, vidioc_streamon(), &mut ty as *mut _ as *mut c_void) < 0 {","highlight_start":45,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut i32` as `*mut i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:477:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (f.ioctl)(fd, vidioc_streamon(), &mut ty as *mut _ as *mut c_void) < 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut v4l2_buffer` as `*mut v4l2_buffer`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":17617,"byte_end":17635,"line_start":515,"line_end":515,"column_start":50,"column_end":68,"is_primary":true,"text":[{"text":" if (f.ioctl)(cam.fd, vidioc_dqbuf(), &mut buf as *mut _ as *mut c_void) >= 0 {","highlight_start":50,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut v4l2_buffer` as `*mut v4l2_buffer`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:515:50\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m515\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (f.ioctl)(cam.fd, vidioc_dqbuf(), &mut buf as *mut _ as *mut c_void) >= 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut v4l2_buffer` as `*mut v4l2_buffer`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":18716,"byte_end":18734,"line_start":542,"line_end":542,"column_start":50,"column_end":68,"is_primary":true,"text":[{"text":" let _ = (f.ioctl)(cam.fd, vidioc_qbuf(), &mut buf as *mut _ as *mut c_void);","highlight_start":50,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut v4l2_buffer` as `*mut v4l2_buffer`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:542:50\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m542\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let _ = (f.ioctl)(cam.fd, vidioc_qbuf(), &mut buf as *mut _ as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut i32` as `*mut i32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/camera/v4l2.rs","byte_start":19480,"byte_end":19497,"line_start":569,"line_end":569,"column_start":55,"column_end":72,"is_primary":true,"text":[{"text":" let _ = (f.ioctl)(cam.fd, vidioc_streamoff(), &mut ty as *mut _ as *mut c_void);","highlight_start":55,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut i32` as `*mut i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/camera/v4l2.rs:569:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m569\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let _ = (f.ioctl)(cam.fd, vidioc_streamoff(), &mut ty as *mut _ as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&unsafe extern \"C\" fn()` as `*const unsafe extern \"C\" fn()`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":9728,"byte_end":9744,"line_start":230,"line_end":230,"column_start":12,"column_end":28,"is_primary":true,"text":[{"text":" Some(*(&p as *const PFN as *const T))","highlight_start":12,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&unsafe extern \"C\" fn()` as `*const unsafe extern \"C\" fn()`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:230:12\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m230\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Some(*(&p as *const PFN as *const T))\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `fn(f32) -> f32 {kpa_to_hpa}` as `fn(f32) -> f32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/sensors/linux.rs","byte_start":5226,"byte_end":5261,"line_start":122,"line_end":122,"column_start":22,"column_end":57,"is_primary":true,"text":[{"text":" Some(units::kpa_to_hpa as fn(f32) -> f32),","highlight_start":22,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `fn(f32) -> f32 {kpa_to_hpa}` as `fn(f32) -> f32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/sensors/linux.rs:122:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m122\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Some(units::kpa_to_hpa as fn(f32) -> f32),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `fn(f32) -> f32 {m_to_cm}` as `fn(f32) -> f32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/sensors/linux.rs","byte_start":5385,"byte_end":5417,"line_start":127,"line_end":127,"column_start":22,"column_end":54,"is_primary":true,"text":[{"text":" Some(units::m_to_cm as fn(f32) -> f32),","highlight_start":22,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `fn(f32) -> f32 {m_to_cm}` as `fn(f32) -> f32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/sensors/linux.rs:127:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m127\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Some(units::m_to_cm as fn(f32) -> f32),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `fn(f32) -> f32 {rad_to_deg}` as `fn(f32) -> f32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/sensors/linux.rs","byte_start":5594,"byte_end":5629,"line_start":133,"line_end":133,"column_start":22,"column_end":57,"is_primary":true,"text":[{"text":" Some(units::rad_to_deg as fn(f32) -> f32),","highlight_start":22,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `fn(f32) -> f32 {rad_to_deg}` as `fn(f32) -> f32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/sensors/linux.rs:133:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m133\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Some(units::rad_to_deg as fn(f32) -> f32),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/window_activation.rs","byte_start":7329,"byte_end":7340,"line_start":175,"line_end":175,"column_start":25,"column_end":36,"is_primary":true,"text":[{"text":" window: window as _,","highlight_start":25,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/window_activation.rs:175:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m175\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: window as _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `extern \"C\" fn(RefAny, ...) -> ... {pump_timer_marker_callback}` as `extern \"C\" fn(azul_core::refany::RefAny, TimerCallbackInfo) -> TimerCallbackReturn`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/capability_pump.rs","byte_start":11433,"byte_end":11480,"line_start":245,"line_end":245,"column_start":9,"column_end":56,"is_primary":true,"text":[{"text":" pump_timer_marker_callback as TimerCallbackType,","highlight_start":9,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the full name for the type has been written to '/home/runner/work/azul/azul/target/debug/deps/azul-2372a22cc67cf2c2.long-type-12893255247942160553.txt'","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider using `--verbose` to print the full type name to the console","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `extern \"C\" fn(RefAny, ...) -> ... {pump_timer_marker_callback}` as `extern \"C\" fn(azul_core::refany::RefAny, TimerCallbackInfo) -> TimerCallbackReturn`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/capability_pump.rs:245:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pump_timer_marker_callback as TimerCallbackType,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: the full name for the type has been written to '/home/runner/work/azul/azul/target/debug/deps/azul-2372a22cc67cf2c2.long-type-12893255247942160553.txt'\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consider using `--verbose` to print the full type name to the console\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `extern \"C\" fn(RefAny, ...) -> ... {one_shot_pass_marker_callback}` as `extern \"C\" fn(azul_core::refany::RefAny, TimerCallbackInfo) -> TimerCallbackReturn`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/capability_pump.rs","byte_start":12776,"byte_end":12826,"line_start":284,"line_end":284,"column_start":9,"column_end":59,"is_primary":true,"text":[{"text":" one_shot_pass_marker_callback as TimerCallbackType,","highlight_start":9,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the full name for the type has been written to '/home/runner/work/azul/azul/target/debug/deps/azul-2372a22cc67cf2c2.long-type-12454253310971680341.txt'","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider using `--verbose` to print the full type name to the console","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `extern \"C\" fn(RefAny, ...) -> ... {one_shot_pass_marker_callback}` as `extern \"C\" fn(azul_core::refany::RefAny, TimerCallbackInfo) -> TimerCallbackReturn`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/capability_pump.rs:284:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m284\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m one_shot_pass_marker_callback as TimerCallbackType,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: the full name for the type has been written to '/home/runner/work/azul/azul/target/debug/deps/azul-2372a22cc67cf2c2.long-type-12454253310971680341.txt'\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consider using `--verbose` to print the full type name to the console\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&LayoutWindow` as `*const LayoutWindow`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":149540,"byte_end":149565,"line_start":3378,"line_end":3378,"column_start":25,"column_end":50,"is_primary":true,"text":[{"text":" Some(lw) => lw as *const LayoutWindow,","highlight_start":25,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&LayoutWindow` as `*const LayoutWindow`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:3378:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3378\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Some(lw) => lw as *const LayoutWindow,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `extern \"C\" fn(RefAny, ...) -> ... {scroll_physics_timer_callback}` as `extern \"C\" fn(azul_core::refany::RefAny, TimerCallbackInfo) -> TimerCallbackReturn`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":169025,"byte_end":169075,"line_start":3822,"line_end":3822,"column_start":17,"column_end":67,"is_primary":true,"text":[{"text":" scroll_physics_timer_callback as TimerCallbackType,","highlight_start":17,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the full name for the type has been written to '/home/runner/work/azul/azul/target/debug/deps/azul-2372a22cc67cf2c2.long-type-5163239092937016135.txt'","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider using `--verbose` to print the full type name to the console","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `extern \"C\" fn(RefAny, ...) -> ... {scroll_physics_timer_callback}` as `extern \"C\" fn(azul_core::refany::RefAny, TimerCallbackInfo) -> TimerCallbackReturn`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:3822:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3822\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m scroll_physics_timer_callback as TimerCallbackType,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: the full name for the type has been written to '/home/runner/work/azul/azul/target/debug/deps/azul-2372a22cc67cf2c2.long-type-5163239092937016135.txt'\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consider using `--verbose` to print the full type name to the console\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `extern \"C\" fn(RefAny, ...) -> ... {auto_scroll_timer_callback}` as `extern \"C\" fn(azul_core::refany::RefAny, TimerCallbackInfo) -> TimerCallbackReturn`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":396225,"byte_end":396272,"line_start":8331,"line_end":8331,"column_start":29,"column_end":76,"is_primary":true,"text":[{"text":" auto_scroll_timer_callback as TimerCallbackType,","highlight_start":29,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the full name for the type has been written to '/home/runner/work/azul/azul/target/debug/deps/azul-2372a22cc67cf2c2.long-type-16996948199980181891.txt'","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider using `--verbose` to print the full type name to the console","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `extern \"C\" fn(RefAny, ...) -> ... {auto_scroll_timer_callback}` as `extern \"C\" fn(azul_core::refany::RefAny, TimerCallbackInfo) -> TimerCallbackReturn`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:8331:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8331\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m auto_scroll_timer_callback as TimerCallbackType,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: the full name for the type has been written to '/home/runner/work/azul/azul/target/debug/deps/azul-2372a22cc67cf2c2.long-type-16996948199980181891.txt'\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consider using `--verbose` to print the full type name to the console\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&DocumentEditEventProvider` as `&dyn EventProvider`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":498176,"byte_end":498218,"line_start":10401,"line_end":10401,"column_start":34,"column_end":76,"is_primary":true,"text":[{"text":" event_providers.push(p as &dyn azul_core::events::EventProvider);","highlight_start":34,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&DocumentEditEventProvider` as `&dyn EventProvider`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:10401:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10401\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_providers.push(p as &dyn azul_core::events::EventProvider);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&TextInputManager` as `&dyn EventProvider`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":498395,"byte_end":498438,"line_start":10406,"line_end":10406,"column_start":34,"column_end":77,"is_primary":true,"text":[{"text":" event_providers.push(tm as &dyn azul_core::events::EventProvider);","highlight_start":34,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&TextInputManager` as `&dyn EventProvider`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:10406:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_providers.push(tm as &dyn azul_core::events::EventProvider);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&SensorManager` as `&dyn EventProvider`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":498474,"byte_end":498517,"line_start":10407,"line_end":10407,"column_start":34,"column_end":77,"is_primary":true,"text":[{"text":" event_providers.push(sm as &dyn azul_core::events::EventProvider);","highlight_start":34,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&SensorManager` as `&dyn EventProvider`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:10407:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10407\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_providers.push(sm as &dyn azul_core::events::EventProvider);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&GamepadManager` as `&dyn EventProvider`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":498553,"byte_end":498596,"line_start":10408,"line_end":10408,"column_start":34,"column_end":77,"is_primary":true,"text":[{"text":" event_providers.push(gm as &dyn azul_core::events::EventProvider);","highlight_start":34,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&GamepadManager` as `&dyn EventProvider`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:10408:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10408\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_providers.push(gm as &dyn azul_core::events::EventProvider);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&GeolocationManager` as `&dyn EventProvider`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":498632,"byte_end":498676,"line_start":10409,"line_end":10409,"column_start":34,"column_end":78,"is_primary":true,"text":[{"text":" event_providers.push(geo as &dyn azul_core::events::EventProvider);","highlight_start":34,"highlight_end":78}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&GeolocationManager` as `&dyn EventProvider`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:10409:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_providers.push(geo as &dyn azul_core::events::EventProvider);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&PermissionManager` as `&dyn EventProvider`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":498712,"byte_end":498755,"line_start":10410,"line_end":10410,"column_start":34,"column_end":77,"is_primary":true,"text":[{"text":" event_providers.push(pm as &dyn azul_core::events::EventProvider);","highlight_start":34,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&PermissionManager` as `&dyn EventProvider`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:10410:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10410\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_providers.push(pm as &dyn azul_core::events::EventProvider);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&BiometricManager` as `&dyn EventProvider`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":498791,"byte_end":498834,"line_start":10411,"line_end":10411,"column_start":34,"column_end":77,"is_primary":true,"text":[{"text":" event_providers.push(bm as &dyn azul_core::events::EventProvider);","highlight_start":34,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&BiometricManager` as `&dyn EventProvider`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:10411:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10411\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_providers.push(bm as &dyn azul_core::events::EventProvider);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&KeyringManager` as `&dyn EventProvider`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":498870,"byte_end":498913,"line_start":10412,"line_end":10412,"column_start":34,"column_end":77,"is_primary":true,"text":[{"text":" event_providers.push(km as &dyn azul_core::events::EventProvider);","highlight_start":34,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&KeyringManager` as `&dyn EventProvider`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:10412:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_providers.push(km as &dyn azul_core::events::EventProvider);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&EyedropperManager` as `&dyn EventProvider`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":498949,"byte_end":498992,"line_start":10413,"line_end":10413,"column_start":34,"column_end":77,"is_primary":true,"text":[{"text":" event_providers.push(ed as &dyn azul_core::events::EventProvider);","highlight_start":34,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&EyedropperManager` as `&dyn EventProvider`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:10413:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_providers.push(ed as &dyn azul_core::events::EventProvider);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&ScrollManager` as `&dyn EventProvider`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":499028,"byte_end":499075,"line_start":10414,"line_end":10414,"column_start":34,"column_end":81,"is_primary":true,"text":[{"text":" event_providers.push(scroll as &dyn azul_core::events::EventProvider);","highlight_start":34,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&ScrollManager` as `&dyn EventProvider`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:10414:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_providers.push(scroll as &dyn azul_core::events::EventProvider);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&TextEditManager` as `&dyn EventProvider`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":499111,"byte_end":499154,"line_start":10415,"line_end":10415,"column_start":34,"column_end":77,"is_primary":true,"text":[{"text":" event_providers.push(te as &dyn azul_core::events::EventProvider);","highlight_start":34,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&TextEditManager` as `&dyn EventProvider`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:10415:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10415\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_providers.push(te as &dyn azul_core::events::EventProvider);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&DeviceEventManager` as `&dyn EventProvider`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":499190,"byte_end":499234,"line_start":10416,"line_end":10416,"column_start":34,"column_end":78,"is_primary":true,"text":[{"text":" event_providers.push(dev as &dyn azul_core::events::EventProvider);","highlight_start":34,"highlight_end":78}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&DeviceEventManager` as `&dyn EventProvider`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:10416:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10416\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_providers.push(dev as &dyn azul_core::events::EventProvider);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&GestureAndDragManager` as `&dyn EventProvider`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":499270,"byte_end":499315,"line_start":10417,"line_end":10417,"column_start":34,"column_end":79,"is_primary":true,"text":[{"text":" event_providers.push(dial as &dyn azul_core::events::EventProvider);","highlight_start":34,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&GestureAndDragManager` as `&dyn EventProvider`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:10417:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10417\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_providers.push(dial as &dyn azul_core::events::EventProvider);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&MediaSessionManager` as `&dyn EventProvider`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":499351,"byte_end":499397,"line_start":10418,"line_end":10418,"column_start":34,"column_end":80,"is_primary":true,"text":[{"text":" event_providers.push(media as &dyn azul_core::events::EventProvider);","highlight_start":34,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&MediaSessionManager` as `&dyn EventProvider`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:10418:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10418\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_providers.push(media as &dyn azul_core::events::EventProvider);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&MediaPlayerManager` as `&dyn EventProvider`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":499433,"byte_end":499480,"line_start":10419,"line_end":10419,"column_start":34,"column_end":81,"is_primary":true,"text":[{"text":" event_providers.push(player as &dyn azul_core::events::EventProvider);","highlight_start":34,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&MediaPlayerManager` as `&dyn EventProvider`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:10419:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10419\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event_providers.push(player as &dyn azul_core::events::EventProvider);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&InputInterpreterInfo<'_>` as `*const InputInterpreterInfo<'_>`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/event.rs","byte_start":532068,"byte_end":532104,"line_start":11062,"line_end":11062,"column_start":17,"column_end":53,"is_primary":true,"text":[{"text":" &info as *const InputInterpreterInfo as *const InputInterpreterInfo<'static>;","highlight_start":17,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&InputInterpreterInfo<'_>` as `*const InputInterpreterInfo<'_>`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/event.rs:11062:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m11062\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &info as *const InputInterpreterInfo as *const InputInterpreterInfo<'static>;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i8` as `i8`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/common/compose.rs","byte_start":10440,"byte_end":10451,"line_start":249,"line_end":249,"column_start":26,"column_end":37,"is_primary":true,"text":[{"text":" let mut stack = [0 as c_char; COMPOSED_STACK_BYTES];","highlight_start":26,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i8` as `i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/common/compose.rs:249:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m249\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut stack = [0 as c_char; COMPOSED_STACK_BYTES];\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i8` as `i8`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/common/compose.rs","byte_start":10870,"byte_end":10881,"line_start":260,"line_end":260,"column_start":29,"column_end":40,"is_primary":true,"text":[{"text":" let mut heap = vec![0 as c_char; needed + 1];","highlight_start":29,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i8` as `i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/common/compose.rs:260:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m260\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut heap = vec![0 as c_char; needed + 1];\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&DBusObjectPathVTable` as `*const DBusObjectPathVTable`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":2336,"byte_end":2355,"line_start":65,"line_end":65,"column_start":13,"column_end":32,"is_primary":true,"text":[{"text":" &vtable as *const _,","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&DBusObjectPathVTable` as `*const DBusObjectPathVTable`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:65:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m65\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &vtable as *const _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&DBusObjectPathVTable` as `*const DBusObjectPathVTable`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":3907,"byte_end":3926,"line_start":114,"line_end":114,"column_start":13,"column_end":32,"is_primary":true,"text":[{"text":" &vtable as *const _,","highlight_start":13,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&DBusObjectPathVTable` as `*const DBusObjectPathVTable`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:114:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m114\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &vtable as *const _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut u32` as `*mut u32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":7080,"byte_end":7102,"line_start":212,"line_end":212,"column_start":17,"column_end":39,"is_primary":true,"text":[{"text":" &mut value as *mut u32 as *mut c_void,","highlight_start":17,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut u32` as `*mut u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:212:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m212\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut value as *mut u32 as *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&*const i8` as `*const *const i8`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":12863,"byte_end":12896,"line_start":381,"line_end":381,"column_start":13,"column_end":46,"is_primary":true,"text":[{"text":" &name_ptr as *const *const c_char as *const c_void,","highlight_start":13,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&*const i8` as `*const *const i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:381:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m381\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &name_ptr as *const *const c_char as *const c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut *const i8` as `*mut *const i8`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":14094,"byte_end":14129,"line_start":415,"line_end":415,"column_start":9,"column_end":44,"is_primary":true,"text":[{"text":" &mut name_ptr as *mut *const c_char as *mut c_void,","highlight_start":9,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut *const i8` as `*mut *const i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:415:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m415\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut name_ptr as *mut *const c_char as *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut *const i8` as `*mut *const i8`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":17493,"byte_end":17528,"line_start":515,"line_end":515,"column_start":9,"column_end":44,"is_primary":true,"text":[{"text":" &mut name_ptr as *mut *const c_char as *mut c_void,","highlight_start":9,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut *const i8` as `*mut *const i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:515:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m515\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut name_ptr as *mut *const c_char as *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&'static shell2::linux::wayland::defines::wl_interface` as `*const shell2::linux::wayland::defines::wl_interface`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/defines.rs","byte_start":72870,"byte_end":72883,"line_start":1916,"line_end":1916,"column_start":68,"column_end":81,"is_primary":true,"text":[{"text":" let a: &'static [*const wl_interface; 1] = Box::leak(Box::new([i as *const _]));","highlight_start":68,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&'static shell2::linux::wayland::defines::wl_interface` as `*const shell2::linux::wayland::defines::wl_interface`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/defines.rs:1916:68\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1916\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let a: &'static [*const wl_interface; 1] = Box::leak(Box::new([i as *const _]));\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&'static shell2::linux::wayland::defines::wl_interface` as `*const shell2::linux::wayland::defines::wl_interface`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":50874,"byte_end":50916,"line_start":1136,"line_end":1136,"column_start":9,"column_end":51,"is_primary":true,"text":[{"text":" get_tablet_seat_v2_interface() as *const _,","highlight_start":9,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&'static shell2::linux::wayland::defines::wl_interface` as `*const shell2::linux::wayland::defines::wl_interface`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1136:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1136\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_tablet_seat_v2_interface() as *const _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&shell2::linux::wayland::defines::wl_shm_listener` as `*const shell2::linux::wayland::defines::wl_shm_listener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":20619,"byte_end":20647,"line_start":545,"line_end":545,"column_start":25,"column_end":53,"is_primary":true,"text":[{"text":" &WL_SHM_LISTENER as *const _ as *const c_void,","highlight_start":25,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&shell2::linux::wayland::defines::wl_shm_listener` as `*const shell2::linux::wayland::defines::wl_shm_listener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:545:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m545\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &WL_SHM_LISTENER as *const _ as *const c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&zwp_text_input_v3_listener` as `*const zwp_text_input_v3_listener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":36075,"byte_end":36114,"line_start":873,"line_end":873,"column_start":33,"column_end":72,"is_primary":true,"text":[{"text":" &ZWP_TEXT_INPUT_V3_LISTENER as *const _ as *const c_void,","highlight_start":33,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&zwp_text_input_v3_listener` as `*const zwp_text_input_v3_listener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:873:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m873\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m &ZWP_TEXT_INPUT_V3_LISTENER as *const _ as *const c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&zwp_text_input_v3_listener` as `*const zwp_text_input_v3_listener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":53878,"byte_end":53917,"line_start":1303,"line_end":1303,"column_start":13,"column_end":52,"is_primary":true,"text":[{"text":" &ZWP_TEXT_INPUT_V3_LISTENER as *const _ as *const c_void,","highlight_start":13,"highlight_end":52}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&zwp_text_input_v3_listener` as `*const zwp_text_input_v3_listener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1303:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1303\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &ZWP_TEXT_INPUT_V3_LISTENER as *const _ as *const c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&shell2::linux::wayland::defines::zwp_primary_selection_device_v1_listener` as `*const shell2::linux::wayland::defines::zwp_primary_selection_device_v1_listener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":110705,"byte_end":110751,"line_start":2703,"line_end":2703,"column_start":9,"column_end":55,"is_primary":true,"text":[{"text":" &PRIMARY_SELECTION_DEVICE_LISTENER as *const _ as *const _,","highlight_start":9,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&shell2::linux::wayland::defines::zwp_primary_selection_device_v1_listener` as `*const shell2::linux::wayland::defines::zwp_primary_selection_device_v1_listener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2703:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2703\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &PRIMARY_SELECTION_DEVICE_LISTENER as *const _ as *const _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&shell2::linux::wayland::defines::zwp_primary_selection_device_v1_listener` as `*const shell2::linux::wayland::defines::zwp_primary_selection_device_v1_listener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":112899,"byte_end":112950,"line_start":2761,"line_end":2761,"column_start":13,"column_end":64,"is_primary":true,"text":[{"text":" &SEAT_PRIMARY_SELECTION_DEVICE_LISTENER as *const _ as *const _,","highlight_start":13,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&shell2::linux::wayland::defines::zwp_primary_selection_device_v1_listener` as `*const shell2::linux::wayland::defines::zwp_primary_selection_device_v1_listener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2761:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2761\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &SEAT_PRIMARY_SELECTION_DEVICE_LISTENER as *const _ as *const _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&shell2::linux::wayland::defines::zwp_primary_selection_offer_v1_listener` as `*const shell2::linux::wayland::defines::zwp_primary_selection_offer_v1_listener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":114344,"byte_end":114389,"line_start":2799,"line_end":2799,"column_start":13,"column_end":58,"is_primary":true,"text":[{"text":" &PRIMARY_SELECTION_OFFER_LISTENER as *const _ as *const _,","highlight_start":13,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&shell2::linux::wayland::defines::zwp_primary_selection_offer_v1_listener` as `*const shell2::linux::wayland::defines::zwp_primary_selection_offer_v1_listener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2799:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2799\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &PRIMARY_SELECTION_OFFER_LISTENER as *const _ as *const _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&shell2::linux::wayland::defines::zwp_primary_selection_offer_v1_listener` as `*const shell2::linux::wayland::defines::zwp_primary_selection_offer_v1_listener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":116881,"byte_end":116926,"line_start":2877,"line_end":2877,"column_start":13,"column_end":58,"is_primary":true,"text":[{"text":" &PRIMARY_SELECTION_OFFER_LISTENER as *const _ as *const _,","highlight_start":13,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&shell2::linux::wayland::defines::zwp_primary_selection_offer_v1_listener` as `*const shell2::linux::wayland::defines::zwp_primary_selection_offer_v1_listener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2877:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2877\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &PRIMARY_SELECTION_OFFER_LISTENER as *const _ as *const _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&'static shell2::linux::wayland::defines::wl_interface` as `*const shell2::linux::wayland::defines::wl_interface`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":16204,"byte_end":16278,"line_start":381,"line_end":381,"column_start":17,"column_end":91,"is_primary":true,"text":[{"text":" ext_foreign_toplevel_handle_v1_interface() as *const defines::wl_interface,","highlight_start":17,"highlight_end":91}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&'static shell2::linux::wayland::defines::wl_interface` as `*const shell2::linux::wayland::defines::wl_interface`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:381:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m381\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ext_foreign_toplevel_handle_v1_interface() as *const defines::wl_interface,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&ToplevelHandleListener` as `*const ToplevelHandleListener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":23788,"byte_end":23816,"line_start":599,"line_end":599,"column_start":13,"column_end":41,"is_primary":true,"text":[{"text":" &HANDLE_LISTENER as *const _ as *const c_void,","highlight_start":13,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&ToplevelHandleListener` as `*const ToplevelHandleListener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:599:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m599\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &HANDLE_LISTENER as *const _ as *const c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&shell2::linux::wayland::dlopen::Wayland` as `*const shell2::linux::wayland::dlopen::Wayland`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":27865,"byte_end":27885,"line_start":705,"line_end":705,"column_start":17,"column_end":37,"is_primary":true,"text":[{"text":" st.wl = wl as *const Wayland;","highlight_start":17,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&shell2::linux::wayland::dlopen::Wayland` as `*const shell2::linux::wayland::dlopen::Wayland`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:705:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m705\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m st.wl = wl as *const Wayland;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut screencopy::State` as `*mut screencopy::State`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":27908,"byte_end":27929,"line_start":706,"line_end":706,"column_start":22,"column_end":43,"is_primary":true,"text":[{"text":" let st_ptr = &mut st as *mut State as *mut c_void;","highlight_start":22,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut screencopy::State` as `*mut screencopy::State`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:706:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m706\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let st_ptr = &mut st as *mut State as *mut c_void;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&RegistryListener` as `*const RegistryListener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":28264,"byte_end":28294,"line_start":715,"line_end":715,"column_start":13,"column_end":43,"is_primary":true,"text":[{"text":" ®ISTRY_LISTENER as *const _ as *const c_void,","highlight_start":13,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&RegistryListener` as `*const RegistryListener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:715:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m715\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ®ISTRY_LISTENER as *const _ as *const c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&ToplevelListListener` as `*const ToplevelListListener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":29516,"byte_end":29542,"line_start":741,"line_end":741,"column_start":13,"column_end":39,"is_primary":true,"text":[{"text":" &LIST_LISTENER as *const _ as *const c_void,","highlight_start":13,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&ToplevelListListener` as `*const ToplevelListListener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:741:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m741\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &LIST_LISTENER as *const _ as *const c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&SessionListener` as `*const SessionListener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":32651,"byte_end":32680,"line_start":818,"line_end":818,"column_start":13,"column_end":42,"is_primary":true,"text":[{"text":" &SESSION_LISTENER as *const _ as *const c_void,","highlight_start":13,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&SessionListener` as `*const SessionListener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:818:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m818\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &SESSION_LISTENER as *const _ as *const c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&FrameListener` as `*const FrameListener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":35797,"byte_end":35824,"line_start":895,"line_end":895,"column_start":43,"column_end":70,"is_primary":true,"text":[{"text":" (wl.wl_proxy_add_listener)(frame, &FRAME_LISTENER as *const _ as *const c_void, st_ptr);","highlight_start":43,"highlight_end":70}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&FrameListener` as `*const FrameListener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:895:43\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m895\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (wl.wl_proxy_add_listener)(frame, &FRAME_LISTENER as *const _ as *const c_void, st_ptr);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i32` as `i32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":38794,"byte_end":38810,"line_start":962,"line_end":962,"column_start":71,"column_end":87,"is_primary":true,"text":[{"text":" let mut fd = libc::syscall(libc::SYS_memfd_create, name.as_ptr(), 1 as libc::c_int)","highlight_start":71,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i32` as `i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:962:71\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m962\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut fd = libc::syscall(libc::SYS_memfd_create, name.as_ptr(), 1 as libc::c_int)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i32` as `i32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/tooltip.rs","byte_start":10613,"byte_end":10629,"line_start":278,"line_end":278,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" 1 as libc::c_int, // MFD_CLOEXEC","highlight_start":21,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i32` as `i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/tooltip.rs:278:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m278\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 1 as libc::c_int, // MFD_CLOEXEC\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i64` as `i64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":21455,"byte_end":21485,"line_start":507,"line_end":507,"column_start":25,"column_end":55,"is_primary":true,"text":[{"text":" tv_sec: (delay / 1000) as libc::time_t,","highlight_start":25,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i64` as `i64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:507:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m507\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m tv_sec: (delay / 1000) as libc::time_t,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i64` as `i64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":21512,"byte_end":21556,"line_start":508,"line_end":508,"column_start":26,"column_end":70,"is_primary":true,"text":[{"text":" tv_nsec: ((delay % 1000) * 1_000_000) as libc::c_long,","highlight_start":26,"highlight_end":70}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i64` as `i64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:508:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m508\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m tv_nsec: ((delay % 1000) * 1_000_000) as libc::c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i64` as `i64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":21639,"byte_end":21672,"line_start":511,"line_end":511,"column_start":25,"column_end":58,"is_primary":true,"text":[{"text":" tv_sec: (interval / 1000) as libc::time_t,","highlight_start":25,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i64` as `i64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:511:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m511\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m tv_sec: (interval / 1000) as libc::time_t,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i64` as `i64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":21699,"byte_end":21746,"line_start":512,"line_end":512,"column_start":26,"column_end":73,"is_primary":true,"text":[{"text":" tv_nsec: ((interval % 1000) * 1_000_000) as libc::c_long,","highlight_start":26,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i64` as `i64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:512:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m512\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m tv_nsec: ((interval % 1000) * 1_000_000) as libc::c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":68544,"byte_end":68561,"line_start":1409,"line_end":1409,"column_start":18,"column_end":35,"is_primary":true,"text":[{"text":" let me = self as *mut Self as *mut std::ffi::c_void;","highlight_start":18,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1409:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let me = self as *mut Self as *mut std::ffi::c_void;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":81787,"byte_end":81806,"line_start":1748,"line_end":1748,"column_start":20,"column_end":39,"is_primary":true,"text":[{"text":" let data = (self as *mut Self).cast::();","highlight_start":20,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1748:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1748\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let data = (self as *mut Self).cast::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&wl_registry_listener` as `*const wl_registry_listener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":105214,"byte_end":105244,"line_start":2252,"line_end":2252,"column_start":17,"column_end":47,"is_primary":true,"text":[{"text":" ®ISTRY_LISTENER as *const _ as _,","highlight_start":17,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&wl_registry_listener` as `*const wl_registry_listener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2252:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2252\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ®ISTRY_LISTENER as *const _ as _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":105267,"byte_end":105288,"line_start":2253,"line_end":2253,"column_start":17,"column_end":38,"is_primary":true,"text":[{"text":" &mut window as *mut _ as *mut _,","highlight_start":17,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2253:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2253\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut window as *mut _ as *mut _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":107840,"byte_end":107861,"line_start":2303,"line_end":2303,"column_start":17,"column_end":38,"is_primary":true,"text":[{"text":" &mut window as *mut _ as *mut _,","highlight_start":17,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2303:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2303\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut window as *mut _ as *mut _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&wp_fractional_scale_v1_listener` as `*const wp_fractional_scale_v1_listener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":109835,"byte_end":109873,"line_start":2341,"line_end":2341,"column_start":25,"column_end":63,"is_primary":true,"text":[{"text":" &FRACTIONAL_SCALE_LISTENER as *const _ as *const _,","highlight_start":25,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&wp_fractional_scale_v1_listener` as `*const wp_fractional_scale_v1_listener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2341:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2341\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &FRACTIONAL_SCALE_LISTENER as *const _ as *const _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":109911,"byte_end":109932,"line_start":2342,"line_end":2342,"column_start":25,"column_end":46,"is_primary":true,"text":[{"text":" &mut window as *mut _ as *mut _,","highlight_start":25,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2342:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2342\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut window as *mut _ as *mut _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":111329,"byte_end":111350,"line_start":2375,"line_end":2375,"column_start":17,"column_end":38,"is_primary":true,"text":[{"text":" &mut window as *mut _ as *mut _,","highlight_start":17,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2375:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2375\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut window as *mut _ as *mut _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":112220,"byte_end":112241,"line_start":2395,"line_end":2395,"column_start":17,"column_end":38,"is_primary":true,"text":[{"text":" &mut window as *mut _ as *mut _,","highlight_start":17,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2395:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2395\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut window as *mut _ as *mut _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&zxdg_toplevel_decoration_v1_listener` as `*const zxdg_toplevel_decoration_v1_listener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":115222,"byte_end":115248,"line_start":2448,"line_end":2448,"column_start":25,"column_end":51,"is_primary":true,"text":[{"text":" &DECO_LISTENER as *const _ as *const _,","highlight_start":25,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&zxdg_toplevel_decoration_v1_listener` as `*const zxdg_toplevel_decoration_v1_listener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2448:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2448\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &DECO_LISTENER as *const _ as *const _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":115864,"byte_end":115897,"line_start":2457,"line_end":2457,"column_start":25,"column_end":58,"is_primary":true,"text":[{"text":" &mut window as *mut WaylandWindow as *mut _,","highlight_start":25,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2457:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2457\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut window as *mut WaylandWindow as *mut _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut GlFunctions` as `*const GlFunctions`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":125138,"byte_end":125172,"line_start":2641,"line_end":2641,"column_start":36,"column_end":70,"is_primary":true,"text":[{"text":" let gl_funcs_ref = gl_functions as *const GlFunctions;","highlight_start":36,"highlight_end":70}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut GlFunctions` as `*const GlFunctions`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:2641:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2641\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let gl_funcs_ref = gl_functions as *const GlFunctions;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut u64` as `*mut u64`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":154108,"byte_end":154136,"line_start":3227,"line_end":3227,"column_start":44,"column_end":72,"is_primary":true,"text":[{"text":" libc::read(fd, &mut expirations as *mut u64 as *mut libc::c_void, 8);","highlight_start":44,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut u64` as `*mut u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:3227:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3227\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m libc::read(fd, &mut expirations as *mut u64 as *mut libc::c_void, 8);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut u64` as `*mut u64`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":154847,"byte_end":154875,"line_start":3243,"line_end":3243,"column_start":25,"column_end":53,"is_primary":true,"text":[{"text":" &mut expirations as *mut u64 as *mut libc::c_void,","highlight_start":25,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut u64` as `*mut u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:3243:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3243\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut expirations as *mut u64 as *mut libc::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut u64` as `*mut u64`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":156363,"byte_end":156391,"line_start":3274,"line_end":3274,"column_start":36,"column_end":64,"is_primary":true,"text":[{"text":" libc::read(fd, &mut expirations as *mut u64 as *mut libc::c_void, 8);","highlight_start":36,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut u64` as `*mut u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:3274:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m libc::read(fd, &mut expirations as *mut u64 as *mut libc::c_void, 8);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&shell2::linux::wayland::defines::zwp_primary_selection_source_v1_listener` as `*const shell2::linux::wayland::defines::zwp_primary_selection_source_v1_listener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":220257,"byte_end":220316,"line_start":4667,"line_end":4667,"column_start":17,"column_end":76,"is_primary":true,"text":[{"text":" &events::SEAT_PRIMARY_SELECTION_SOURCE_LISTENER as *const _ as *const _,","highlight_start":17,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&shell2::linux::wayland::defines::zwp_primary_selection_source_v1_listener` as `*const shell2::linux::wayland::defines::zwp_primary_selection_source_v1_listener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4667:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4667\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &events::SEAT_PRIMARY_SELECTION_SOURCE_LISTENER as *const _ as *const _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":220346,"byte_end":220363,"line_start":4668,"line_end":4668,"column_start":17,"column_end":34,"is_primary":true,"text":[{"text":" self as *mut Self as *mut _,","highlight_start":17,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:4668:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4668\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self as *mut Self as *mut _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `extern \"C\" fn(RefAny, ...) -> ... {scroll_physics_timer_callback}` as `extern \"C\" fn(azul_core::refany::RefAny, TimerCallbackInfo) -> TimerCallbackReturn`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":237382,"byte_end":237432,"line_start":5046,"line_end":5046,"column_start":25,"column_end":75,"is_primary":true,"text":[{"text":" scroll_physics_timer_callback as TimerCallbackType,","highlight_start":25,"highlight_end":75}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the full name for the type has been written to '/home/runner/work/azul/azul/target/debug/deps/azul-2372a22cc67cf2c2.long-type-5163239092937016135.txt'","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider using `--verbose` to print the full type name to the console","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `extern \"C\" fn(RefAny, ...) -> ... {scroll_physics_timer_callback}` as `extern \"C\" fn(azul_core::refany::RefAny, TimerCallbackInfo) -> TimerCallbackReturn`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5046:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5046\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m scroll_physics_timer_callback as TimerCallbackType,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: the full name for the type has been written to '/home/runner/work/azul/azul/target/debug/deps/azul-2372a22cc67cf2c2.long-type-5163239092937016135.txt'\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consider using `--verbose` to print the full type name to the console\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i64` as `i64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":261941,"byte_end":261971,"line_start":5600,"line_end":5600,"column_start":25,"column_end":55,"is_primary":true,"text":[{"text":" tv_sec: (delay / 1000) as libc::time_t,","highlight_start":25,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i64` as `i64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5600:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5600\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m tv_sec: (delay / 1000) as libc::time_t,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i64` as `i64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":261998,"byte_end":262042,"line_start":5601,"line_end":5601,"column_start":26,"column_end":70,"is_primary":true,"text":[{"text":" tv_nsec: ((delay % 1000) * 1_000_000) as libc::c_long,","highlight_start":26,"highlight_end":70}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i64` as `i64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5601:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m tv_nsec: ((delay % 1000) * 1_000_000) as libc::c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i64` as `i64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":262125,"byte_end":262158,"line_start":5604,"line_end":5604,"column_start":25,"column_end":58,"is_primary":true,"text":[{"text":" tv_sec: (interval / 1000) as libc::time_t,","highlight_start":25,"highlight_end":58}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i64` as `i64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5604:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5604\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m tv_sec: (interval / 1000) as libc::time_t,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i64` as `i64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":262185,"byte_end":262232,"line_start":5605,"line_end":5605,"column_start":26,"column_end":73,"is_primary":true,"text":[{"text":" tv_nsec: ((interval % 1000) * 1_000_000) as libc::c_long,","highlight_start":26,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i64` as `i64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5605:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5605\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m tv_nsec: ((interval % 1000) * 1_000_000) as libc::c_long,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&shell2::linux::wayland::defines::wl_data_source_listener` as `*const shell2::linux::wayland::defines::wl_data_source_listener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":267572,"byte_end":267616,"line_start":5719,"line_end":5719,"column_start":17,"column_end":61,"is_primary":true,"text":[{"text":" &events::WL_DATA_SOURCE_LISTENER as *const _ as *const _,","highlight_start":17,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&shell2::linux::wayland::defines::wl_data_source_listener` as `*const shell2::linux::wayland::defines::wl_data_source_listener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5719:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5719\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &events::WL_DATA_SOURCE_LISTENER as *const _ as *const _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":267646,"byte_end":267663,"line_start":5720,"line_end":5720,"column_start":17,"column_end":34,"is_primary":true,"text":[{"text":" self as *mut Self as *mut _,","highlight_start":17,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5720:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5720\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self as *mut Self as *mut _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&shell2::linux::wayland::defines::zwp_primary_selection_source_v1_listener` as `*const shell2::linux::wayland::defines::zwp_primary_selection_source_v1_listener`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":274176,"byte_end":274230,"line_start":5877,"line_end":5877,"column_start":17,"column_end":71,"is_primary":true,"text":[{"text":" &events::PRIMARY_SELECTION_SOURCE_LISTENER as *const _ as *const _,","highlight_start":17,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&shell2::linux::wayland::defines::zwp_primary_selection_source_v1_listener` as `*const shell2::linux::wayland::defines::zwp_primary_selection_source_v1_listener`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5877:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5877\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &events::PRIMARY_SELECTION_SOURCE_LISTENER as *const _ as *const _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":274260,"byte_end":274277,"line_start":5878,"line_end":5878,"column_start":17,"column_end":34,"is_primary":true,"text":[{"text":" self as *mut Self as *mut _,","highlight_start":17,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:5878:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5878\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self as *mut Self as *mut _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":396710,"byte_end":396724,"line_start":8207,"line_end":8207,"column_start":17,"column_end":31,"is_primary":true,"text":[{"text":" self as *mut _ as *mut _,","highlight_start":17,"highlight_end":31}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut WaylandWindow` as `*mut WaylandWindow`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8207:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8207\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self as *mut _ as *mut _,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i32` as `i32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":421806,"byte_end":421822,"line_start":8760,"line_end":8760,"column_start":21,"column_end":37,"is_primary":true,"text":[{"text":" 1 as libc::c_int,","highlight_start":21,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i32` as `i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8760:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8760\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 1 as libc::c_int,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&*const i8` as `*const *const i8`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":510680,"byte_end":510705,"line_start":10931,"line_end":10931,"column_start":21,"column_end":46,"is_primary":true,"text":[{"text":" &app_name_ptr as *const _ as *const c_void,","highlight_start":21,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&*const i8` as `*const *const i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10931:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10931\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &app_name_ptr as *const _ as *const c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&*const i8` as `*const *const i8`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":510948,"byte_end":510971,"line_start":10938,"line_end":10938,"column_start":21,"column_end":44,"is_primary":true,"text":[{"text":" &reason_ptr as *const _ as *const c_void,","highlight_start":21,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&*const i8` as `*const *const i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10938:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10938\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &reason_ptr as *const _ as *const c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut u32` as `*mut u32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":513121,"byte_end":513142,"line_start":10993,"line_end":10993,"column_start":21,"column_end":42,"is_primary":true,"text":[{"text":" &mut cookie as *mut _ as *mut c_void,","highlight_start":21,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut u32` as `*mut u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:10993:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m10993\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut cookie as *mut _ as *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&u32` as `*const u32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":515523,"byte_end":515542,"line_start":11057,"line_end":11057,"column_start":21,"column_end":40,"is_primary":true,"text":[{"text":" &cookie as *const _ as *const c_void,","highlight_start":21,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&u32` as `*const u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:11057:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m11057\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &cookie as *const _ as *const c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut *mut shell2::linux::x11::defines::XIMStyles` as `*mut *mut shell2::linux::x11::defines::XIMStyles`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":4945,"byte_end":4983,"line_start":132,"line_end":132,"column_start":17,"column_end":55,"is_primary":true,"text":[{"text":" &mut styles_ptr as *mut *mut XIMStyles,","highlight_start":17,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut *mut shell2::linux::x11::defines::XIMStyles` as `*mut *mut shell2::linux::x11::defines::XIMStyles`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:132:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m132\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut styles_ptr as *mut *mut XIMStyles,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&ImePreeditSink` as `*const ImePreeditSink`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":6671,"byte_end":6702,"line_start":170,"line_end":170,"column_start":36,"column_end":67,"is_primary":true,"text":[{"text":" let sink_ptr = &*sink as *const ImePreeditSink as *mut c_void;","highlight_start":36,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&ImePreeditSink` as `*const ImePreeditSink`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:170:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m170\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let sink_ptr = &*sink as *const ImePreeditSink as *mut c_void;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&shell2::linux::x11::defines::XIMCallback` as `*const shell2::linux::x11::defines::XIMCallback`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":7616,"byte_end":7647,"line_start":191,"line_end":191,"column_start":25,"column_end":56,"is_primary":true,"text":[{"text":" &start_cb as *const XIMCallback,","highlight_start":25,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&shell2::linux::x11::defines::XIMCallback` as `*const shell2::linux::x11::defines::XIMCallback`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:191:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m191\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &start_cb as *const XIMCallback,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&shell2::linux::x11::defines::XIMCallback` as `*const shell2::linux::x11::defines::XIMCallback`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":7745,"byte_end":7775,"line_start":193,"line_end":193,"column_start":25,"column_end":55,"is_primary":true,"text":[{"text":" &done_cb as *const XIMCallback,","highlight_start":25,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&shell2::linux::x11::defines::XIMCallback` as `*const shell2::linux::x11::defines::XIMCallback`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:193:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m193\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &done_cb as *const XIMCallback,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&shell2::linux::x11::defines::XIMCallback` as `*const shell2::linux::x11::defines::XIMCallback`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":7873,"byte_end":7903,"line_start":195,"line_end":195,"column_start":25,"column_end":55,"is_primary":true,"text":[{"text":" &draw_cb as *const XIMCallback,","highlight_start":25,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&shell2::linux::x11::defines::XIMCallback` as `*const shell2::linux::x11::defines::XIMCallback`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:195:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m195\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &draw_cb as *const XIMCallback,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&shell2::linux::x11::defines::XIMCallback` as `*const shell2::linux::x11::defines::XIMCallback`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":8002,"byte_end":8033,"line_start":197,"line_end":197,"column_start":25,"column_end":56,"is_primary":true,"text":[{"text":" &caret_cb as *const XIMCallback,","highlight_start":25,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&shell2::linux::x11::defines::XIMCallback` as `*const shell2::linux::x11::defines::XIMCallback`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:197:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m197\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &caret_cb as *const XIMCallback,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut u64` as `*mut u64`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":13486,"byte_end":13512,"line_start":341,"line_end":341,"column_start":9,"column_end":35,"is_primary":true,"text":[{"text":" &mut keysym as *mut KeySym,","highlight_start":9,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut u64` as `*mut u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:341:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m341\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut keysym as *mut KeySym,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut i32` as `*mut i32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":13522,"byte_end":13545,"line_start":342,"line_end":342,"column_start":9,"column_end":32,"is_primary":true,"text":[{"text":" &mut status as *mut i32,","highlight_start":9,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut i32` as `*mut i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:342:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m342\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut status as *mut i32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut u64` as `*mut u64`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":13785,"byte_end":13811,"line_start":351,"line_end":351,"column_start":13,"column_end":39,"is_primary":true,"text":[{"text":" &mut keysym as *mut KeySym,","highlight_start":13,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut u64` as `*mut u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:351:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m351\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut keysym as *mut KeySym,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut i32` as `*mut i32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":13825,"byte_end":13848,"line_start":352,"line_end":352,"column_start":13,"column_end":36,"is_primary":true,"text":[{"text":" &mut status as *mut i32,","highlight_start":13,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut i32` as `*mut i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:352:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m352\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut status as *mut i32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `extern \"C\" fn(RefAny, ...) -> ... {scroll_physics_timer_callback}` as `extern \"C\" fn(azul_core::refany::RefAny, TimerCallbackInfo) -> TimerCallbackReturn`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":41719,"byte_end":41769,"line_start":984,"line_end":984,"column_start":25,"column_end":75,"is_primary":true,"text":[{"text":" scroll_physics_timer_callback as TimerCallbackType,","highlight_start":25,"highlight_end":75}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the full name for the type has been written to '/home/runner/work/azul/azul/target/debug/deps/azul-2372a22cc67cf2c2.long-type-5163239092937016135.txt'","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider using `--verbose` to print the full type name to the console","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `extern \"C\" fn(RefAny, ...) -> ... {scroll_physics_timer_callback}` as `extern \"C\" fn(azul_core::refany::RefAny, TimerCallbackInfo) -> TimerCallbackReturn`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:984:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m984\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m scroll_physics_timer_callback as TimerCallbackType,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: the full name for the type has been written to '/home/runner/work/azul/azul/target/debug/deps/azul-2372a22cc67cf2c2.long-type-5163239092937016135.txt'\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consider using `--verbose` to print the full type name to the console\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u32` as `u32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":53393,"byte_end":53413,"line_start":1205,"line_end":1205,"column_start":13,"column_end":33,"is_primary":true,"text":[{"text":" event.keycode as u32,","highlight_start":13,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u32` as `u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:1205:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1205\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event.keycode as u32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":69839,"byte_end":69857,"line_start":1564,"line_end":1564,"column_start":41,"column_end":59,"is_primary":true,"text":[{"text":" menu_options.parent_window_id = self.window as u64;","highlight_start":41,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:1564:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1564\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m menu_options.parent_window_id = self.window as u64;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/gl.rs","byte_start":6354,"byte_end":6383,"line_start":178,"line_end":178,"column_start":17,"column_end":46,"is_primary":true,"text":[{"text":" window as EGLNativeWindowType,","highlight_start":17,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/gl.rs:178:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m178\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window as EGLNativeWindowType,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i32` as `i32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/tooltip.rs","byte_start":2870,"byte_end":2891,"line_start":75,"line_end":75,"column_start":17,"column_end":38,"is_primary":true,"text":[{"text":" CopyFromParent as i32,","highlight_start":17,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i32` as `i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/tooltip.rs:75:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m75\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m CopyFromParent as i32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u32` as `u32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/tooltip.rs","byte_start":2909,"byte_end":2927,"line_start":76,"line_end":76,"column_start":17,"column_end":35,"is_primary":true,"text":[{"text":" InputOutput as u32,","highlight_start":17,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u32` as `u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/tooltip.rs:76:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m76\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m InputOutput as u32,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&MotifWmHints` as `*const MotifWmHints`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":15541,"byte_end":15570,"line_start":433,"line_end":433,"column_start":9,"column_end":38,"is_primary":true,"text":[{"text":" &hints as *const MotifWmHints as *const u8,","highlight_start":9,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&MotifWmHints` as `*const MotifWmHints`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:433:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m433\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &hints as *const MotifWmHints as *const u8,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":64725,"byte_end":64742,"line_start":1596,"line_end":1596,"column_start":22,"column_end":39,"is_primary":true,"text":[{"text":" let own_window = win.window as u64;","highlight_start":22,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1596:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1596\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let own_window = win.window as u64;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":67919,"byte_end":67934,"line_start":1651,"line_end":1651,"column_start":20,"column_end":35,"is_primary":true,"text":[{"text":" if ev.event as u64 != own_window {","highlight_start":20,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1651:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1651\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if ev.event as u64 != own_window {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":68019,"byte_end":68034,"line_start":1652,"line_end":1652,"column_start":69,"column_end":84,"is_primary":true,"text":[{"text":" if let Some(wptr) = super::registry::get_window(ev.event as u64) {","highlight_start":69,"highlight_end":84}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1652:69\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1652\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if let Some(wptr) = super::registry::get_window(ev.event as u64) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":70208,"byte_end":70223,"line_start":1703,"line_end":1703,"column_start":12,"column_end":27,"is_primary":true,"text":[{"text":" if ev.event as u64 != own_window {","highlight_start":12,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1703:12\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1703\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if ev.event as u64 != own_window {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":70300,"byte_end":70315,"line_start":1704,"line_end":1704,"column_start":61,"column_end":76,"is_primary":true,"text":[{"text":" if let Some(wptr) = super::registry::get_window(ev.event as u64) {","highlight_start":61,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1704:61\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1704\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if let Some(wptr) = super::registry::get_window(ev.event as u64) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i8` as `i8`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":79290,"byte_end":79312,"line_start":1916,"line_end":1916,"column_start":39,"column_end":61,"is_primary":true,"text":[{"text":" let mut buffer = [0 as core::ffi::c_char; 32];","highlight_start":39,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i8` as `i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1916:39\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1916\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut buffer = [0 as core::ffi::c_char; 32];\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i8` as `i8`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":81264,"byte_end":81286,"line_start":1966,"line_end":1966,"column_start":35,"column_end":57,"is_primary":true,"text":[{"text":" let mut buffer = [0 as core::ffi::c_char; 32];","highlight_start":35,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i8` as `i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1966:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1966\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut buffer = [0 as core::ffi::c_char; 32];\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":132169,"byte_end":132203,"line_start":2968,"line_end":2968,"column_start":22,"column_end":56,"is_primary":true,"text":[{"text":" let target = unsafe { event.any.window } as u64;","highlight_start":22,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2968:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2968\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let target = unsafe { event.any.window } as u64;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":132359,"byte_end":132377,"line_start":2971,"line_end":2971,"column_start":22,"column_end":40,"is_primary":true,"text":[{"text":" if target == self.window as u64 {","highlight_start":22,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2971:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2971\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if target == self.window as u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":140387,"byte_end":140405,"line_start":3138,"line_end":3138,"column_start":35,"column_end":53,"is_primary":true,"text":[{"text":" if wid == self.window as u64 {","highlight_start":35,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3138:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3138\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if wid == self.window as u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i32` as `i32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":150168,"byte_end":150178,"line_start":3355,"line_end":3355,"column_start":22,"column_end":32,"is_primary":true,"text":[{"text":" (0 as c_int, 0 as c_int, 0 as c_int);","highlight_start":22,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i32` as `i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3355:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3355\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (0 as c_int, 0 as c_int, 0 as c_int);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i32` as `i32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":150180,"byte_end":150190,"line_start":3355,"line_end":3355,"column_start":34,"column_end":44,"is_primary":true,"text":[{"text":" (0 as c_int, 0 as c_int, 0 as c_int);","highlight_start":34,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i32` as `i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3355:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3355\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (0 as c_int, 0 as c_int, 0 as c_int);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i32` as `i32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":150192,"byte_end":150202,"line_start":3355,"line_end":3355,"column_start":46,"column_end":56,"is_primary":true,"text":[{"text":" (0 as c_int, 0 as c_int, 0 as c_int);","highlight_start":46,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i32` as `i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3355:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3355\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (0 as c_int, 0 as c_int, 0 as c_int);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i32` as `i32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":150251,"byte_end":150261,"line_start":3356,"line_end":3356,"column_start":47,"column_end":57,"is_primary":true,"text":[{"text":" let (mut major, mut minor) = (1 as c_int, 0 as c_int);","highlight_start":47,"highlight_end":57}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i32` as `i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3356:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3356\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let (mut major, mut minor) = (1 as c_int, 0 as c_int);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i32` as `i32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":150263,"byte_end":150273,"line_start":3356,"line_end":3356,"column_start":59,"column_end":69,"is_primary":true,"text":[{"text":" let (mut major, mut minor) = (1 as c_int, 0 as c_int);","highlight_start":59,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i32` as `i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3356:59\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3356\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let (mut major, mut minor) = (1 as c_int, 0 as c_int);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&i64` as `*const i64`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":157638,"byte_end":157684,"line_start":3528,"line_end":3528,"column_start":25,"column_end":71,"is_primary":true,"text":[{"text":" &type_atom_long as *const std::os::raw::c_long as *const u8,","highlight_start":25,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&i64` as `*const i64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3528:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3528\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &type_atom_long as *const std::os::raw::c_long as *const u8,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&i64` as `*const i64`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":162231,"byte_end":162270,"line_start":3635,"line_end":3635,"column_start":17,"column_end":56,"is_primary":true,"text":[{"text":" &version as *const std::os::raw::c_long as *const u8,","highlight_start":17,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&i64` as `*const i64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3635:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3635\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &version as *const std::os::raw::c_long as *const u8,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u32` as `u32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":175887,"byte_end":175904,"line_start":3903,"line_end":3903,"column_start":45,"column_end":62,"is_primary":true,"text":[{"text":" monitor_id: OptionU32::Some(monitor_id as u32),","highlight_start":45,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u32` as `u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:3903:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3903\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m monitor_id: OptionU32::Some(monitor_id as u32),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":183672,"byte_end":183692,"line_start":4082,"line_end":4082,"column_start":52,"column_end":72,"is_primary":true,"text":[{"text":" .set_window_properties(window.window as u64, display as *mut _)","highlight_start":52,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4082:52\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4082\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m .set_window_properties(window.window as u64, display as *mut _)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":185531,"byte_end":185551,"line_start":4120,"line_end":4120,"column_start":25,"column_end":45,"is_primary":true,"text":[{"text":" window: window.window as u64,","highlight_start":25,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4120:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4120\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: window.window as u64,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":196287,"byte_end":196305,"line_start":4381,"line_end":4381,"column_start":25,"column_end":43,"is_primary":true,"text":[{"text":" window: self.window as u64,","highlight_start":25,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4381:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4381\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: self.window as u64,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":198308,"byte_end":198326,"line_start":4424,"line_end":4424,"column_start":35,"column_end":53,"is_primary":true,"text":[{"text":" if wid == self.window as u64 {","highlight_start":35,"highlight_end":53}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4424:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4424\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if wid == self.window as u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut u64` as `*mut u64`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":210663,"byte_end":210691,"line_start":4674,"line_end":4674,"column_start":44,"column_end":72,"is_primary":true,"text":[{"text":" libc::read(fd, &mut expirations as *mut u64 as *mut libc::c_void, 8);","highlight_start":44,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut u64` as `*mut u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4674:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4674\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m libc::read(fd, &mut expirations as *mut u64 as *mut libc::c_void, 8);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut u64` as `*mut u64`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":211488,"byte_end":211506,"line_start":4691,"line_end":4691,"column_start":25,"column_end":43,"is_primary":true,"text":[{"text":" &mut n as *mut u64 as *mut libc::c_void,","highlight_start":25,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut u64` as `*mut u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4691:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4691\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut n as *mut u64 as *mut libc::c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut u64` as `*mut u64`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":213314,"byte_end":213332,"line_start":4731,"line_end":4731,"column_start":46,"column_end":64,"is_primary":true,"text":[{"text":" libc::read(self.pace_fd, &mut n as *mut u64 as *mut libc::c_void, 8);","highlight_start":46,"highlight_end":64}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut u64` as `*mut u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4731:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4731\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m libc::read(self.pace_fd, &mut n as *mut u64 as *mut libc::c_void, 8);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":215016,"byte_end":215034,"line_start":4765,"line_end":4765,"column_start":23,"column_end":41,"is_primary":true,"text":[{"text":" if wid == self.window as u64 {","highlight_start":23,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4765:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4765\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if wid == self.window as u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":215891,"byte_end":215909,"line_start":4786,"line_end":4786,"column_start":23,"column_end":41,"is_primary":true,"text":[{"text":" if wid == self.window as u64 {","highlight_start":23,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:4786:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m4786\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if wid == self.window as u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut shell2::linux::x11::defines::XEvent` as `*const shell2::linux::x11::defines::XEvent`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":236850,"byte_end":236872,"line_start":5165,"line_end":5165,"column_start":38,"column_end":60,"is_primary":true,"text":[{"text":" let xe = unsafe { &*(event as *const XEvent as *const defines::XkbAnyEvent) };","highlight_start":38,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut shell2::linux::x11::defines::XEvent` as `*const shell2::linux::x11::defines::XEvent`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5165:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5165\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let xe = unsafe { &*(event as *const XEvent as *const defines::XkbAnyEvent) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":260875,"byte_end":260893,"line_start":5601,"line_end":5601,"column_start":23,"column_end":41,"is_primary":true,"text":[{"text":" if wid == self.window as u64 {","highlight_start":23,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5601:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if wid == self.window as u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":263006,"byte_end":263024,"line_start":5641,"line_end":5641,"column_start":27,"column_end":45,"is_primary":true,"text":[{"text":" if wid == self.window as u64 {","highlight_start":27,"highlight_end":45}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5641:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5641\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if wid == self.window as u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut shell2::linux::x11::defines::XEvent` as `*mut shell2::linux::x11::defines::XEvent`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":267145,"byte_end":267167,"line_start":5733,"line_end":5733,"column_start":64,"column_end":86,"is_primary":true,"text":[{"text":" (self.xlib.XSendEvent)(self.display, target, 0, 0, &mut ev as *mut XEvent);","highlight_start":64,"highlight_end":86}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut shell2::linux::x11::defines::XEvent` as `*mut shell2::linux::x11::defines::XEvent`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:5733:64\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5733\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.xlib.XSendEvent)(self.display, target, 0, 0, &mut ev as *mut XEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u32` as `u32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":283389,"byte_end":283408,"line_start":6098,"line_end":6098,"column_start":17,"column_end":36,"is_primary":true,"text":[{"text":" (phys.width as u32).max(1),","highlight_start":17,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u32` as `u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6098:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6098\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (phys.width as u32).max(1),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u32` as `u32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":283433,"byte_end":283453,"line_start":6099,"line_end":6099,"column_start":17,"column_end":37,"is_primary":true,"text":[{"text":" (phys.height as u32).max(1),","highlight_start":17,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u32` as `u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6099:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6099\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (phys.height as u32).max(1),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u32` as `u32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":312467,"byte_end":312491,"line_start":6640,"line_end":6640,"column_start":46,"column_end":70,"is_primary":true,"text":[{"text":" let pw = pixmap.width() as c_uint;","highlight_start":46,"highlight_end":70}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u32` as `u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6640:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6640\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m let pw = pixmap.width() as c_uint;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u32` as `u32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":312538,"byte_end":312563,"line_start":6641,"line_end":6641,"column_start":46,"column_end":71,"is_primary":true,"text":[{"text":" let ph = pixmap.height() as c_uint;","highlight_start":46,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u32` as `u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6641:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6641\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m let ph = pixmap.height() as c_uint;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u32` as `u32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":319827,"byte_end":319842,"line_start":6742,"line_end":6742,"column_start":53,"column_end":68,"is_primary":true,"text":[{"text":" depth as c_uint,","highlight_start":53,"highlight_end":68}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u32` as `u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6742:53\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6742\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m depth as c_uint,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u32` as `u32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":320115,"byte_end":320127,"line_start":6746,"line_end":6746,"column_start":53,"column_end":65,"is_primary":true,"text":[{"text":" rw as c_uint,","highlight_start":53,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u32` as `u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6746:53\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6746\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m rw as c_uint,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u32` as `u32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":320181,"byte_end":320193,"line_start":6747,"line_end":6747,"column_start":53,"column_end":65,"is_primary":true,"text":[{"text":" rh as c_uint,","highlight_start":53,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u32` as `u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6747:53\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6747\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m rh as c_uint,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u32` as `u32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":321126,"byte_end":321138,"line_start":6762,"line_end":6762,"column_start":57,"column_end":69,"is_primary":true,"text":[{"text":" rw as c_uint,","highlight_start":57,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u32` as `u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6762:57\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6762\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m rw as c_uint,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u32` as `u32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":321196,"byte_end":321208,"line_start":6763,"line_end":6763,"column_start":57,"column_end":69,"is_primary":true,"text":[{"text":" rh as c_uint,","highlight_start":57,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u32` as `u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6763:57\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6763\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m rh as c_uint,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&u32` as `*const u32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":362908,"byte_end":362930,"line_start":7685,"line_end":7685,"column_start":17,"column_end":39,"is_primary":true,"text":[{"text":" &opacity as *const u32 as *const u8,","highlight_start":17,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&u32` as `*const u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7685:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7685\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &opacity as *const u32 as *const u8,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":369148,"byte_end":369166,"line_start":7825,"line_end":7825,"column_start":21,"column_end":39,"is_primary":true,"text":[{"text":" window: self.window as u64,","highlight_start":21,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7825:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7825\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: self.window as u64,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":369649,"byte_end":369667,"line_start":7838,"line_end":7838,"column_start":25,"column_end":43,"is_primary":true,"text":[{"text":" window: self.window as u64,","highlight_start":25,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7838:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7838\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: self.window as u64,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":373161,"byte_end":373179,"line_start":7931,"line_end":7931,"column_start":23,"column_end":41,"is_primary":true,"text":[{"text":" if wid == self.window as u64 {","highlight_start":23,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:7931:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m7931\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if wid == self.window as u64 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":378454,"byte_end":378472,"line_start":8064,"line_end":8064,"column_start":41,"column_end":59,"is_primary":true,"text":[{"text":" menu_options.parent_window_id = self.window as u64;","highlight_start":41,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8064:41\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8064\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m menu_options.parent_window_id = self.window as u64;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":381082,"byte_end":381100,"line_start":8145,"line_end":8145,"column_start":44,"column_end":62,"is_primary":true,"text":[{"text":" super::registry::unregister_window(self.window as u64);","highlight_start":44,"highlight_end":62}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8145:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8145\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m super::registry::unregister_window(self.window as u64);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i8` as `i8`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":387998,"byte_end":388009,"line_start":8283,"line_end":8283,"column_start":31,"column_end":42,"is_primary":true,"text":[{"text":" let mut key_vector = [0 as c_char; 32];","highlight_start":31,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i8` as `i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8283:31\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8283\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut key_vector = [0 as c_char; 32];\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&XPoint` as `*const XPoint`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":389393,"byte_end":389415,"line_start":8314,"line_end":8314,"column_start":25,"column_end":47,"is_primary":true,"text":[{"text":" &spot as *const XPoint,","highlight_start":25,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&XPoint` as `*const XPoint`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8314:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8314\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &spot as *const XPoint,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut shell2::linux::x11::defines::XClientMessageEvent` as `*mut shell2::linux::x11::defines::XClientMessageEvent`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392045,"byte_end":392065,"line_start":8379,"line_end":8379,"column_start":13,"column_end":33,"is_primary":true,"text":[{"text":" &mut event as *mut _ as *mut defines::XEvent,","highlight_start":13,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut shell2::linux::x11::defines::XClientMessageEvent` as `*mut shell2::linux::x11::defines::XClientMessageEvent`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8379:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8379\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut event as *mut _ as *mut defines::XEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut shell2::linux::x11::defines::XClientMessageEvent` as `*mut shell2::linux::x11::defines::XClientMessageEvent`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":393342,"byte_end":393362,"line_start":8416,"line_end":8416,"column_start":13,"column_end":33,"is_primary":true,"text":[{"text":" &mut event as *mut _ as *mut defines::XEvent,","highlight_start":13,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut shell2::linux::x11::defines::XClientMessageEvent` as `*mut shell2::linux::x11::defines::XClientMessageEvent`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8416:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8416\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut event as *mut _ as *mut defines::XEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut shell2::linux::x11::defines::XClientMessageEvent` as `*mut shell2::linux::x11::defines::XClientMessageEvent`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":398712,"byte_end":398732,"line_start":8539,"line_end":8539,"column_start":17,"column_end":37,"is_primary":true,"text":[{"text":" &mut event as *mut _ as *mut defines::XEvent,","highlight_start":17,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut shell2::linux::x11::defines::XClientMessageEvent` as `*mut shell2::linux::x11::defines::XClientMessageEvent`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8539:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8539\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut event as *mut _ as *mut defines::XEvent,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&*const i8` as `*const *const i8`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":405663,"byte_end":405688,"line_start":8688,"line_end":8688,"column_start":21,"column_end":46,"is_primary":true,"text":[{"text":" &app_name_ptr as *const _ as *const c_void,","highlight_start":21,"highlight_end":46}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&*const i8` as `*const *const i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8688:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8688\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &app_name_ptr as *const _ as *const c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&*const i8` as `*const *const i8`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":405931,"byte_end":405954,"line_start":8695,"line_end":8695,"column_start":21,"column_end":44,"is_primary":true,"text":[{"text":" &reason_ptr as *const _ as *const c_void,","highlight_start":21,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&*const i8` as `*const *const i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8695:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8695\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &reason_ptr as *const _ as *const c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut u32` as `*mut u32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":408018,"byte_end":408039,"line_start":8747,"line_end":8747,"column_start":21,"column_end":42,"is_primary":true,"text":[{"text":" &mut cookie as *mut _ as *mut c_void,","highlight_start":21,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut u32` as `*mut u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8747:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8747\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut cookie as *mut _ as *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&u32` as `*const u32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":410338,"byte_end":410357,"line_start":8808,"line_end":8808,"column_start":21,"column_end":40,"is_primary":true,"text":[{"text":" &cookie as *const _ as *const c_void,","highlight_start":21,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&u32` as `*const u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8808:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8808\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &cookie as *const _ as *const c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `extern \"C\" fn(RefAny, ...) -> ... {scroll_physics_timer_callback}` as `extern \"C\" fn(azul_core::refany::RefAny, TimerCallbackInfo) -> TimerCallbackReturn`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/headless/mod.rs","byte_start":139567,"byte_end":139700,"line_start":2839,"line_end":2840,"column_start":33,"column_end":77,"is_primary":true,"text":[{"text":" azul_layout::scroll_timer::scroll_physics_timer_callback","highlight_start":33,"highlight_end":89},{"text":" as azul_layout::timer::TimerCallbackType,","highlight_start":1,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"the full name for the type has been written to '/home/runner/work/azul/azul/target/debug/deps/azul-2372a22cc67cf2c2.long-type-5163239092937016135.txt'","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider using `--verbose` to print the full type name to the console","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `extern \"C\" fn(RefAny, ...) -> ... {scroll_physics_timer_callback}` as `extern \"C\" fn(azul_core::refany::RefAny, TimerCallbackInfo) -> TimerCallbackReturn`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/headless/mod.rs:2839:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2839\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m azul_layout::scroll_timer::scroll_physics_timer_callback\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2840\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m as azul_layout::timer::TimerCallbackType,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|__________________________________________________________________^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: the full name for the type has been written to '/home/runner/work/azul/azul/target/debug/deps/azul-2372a22cc67cf2c2.long-type-5163239092937016135.txt'\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consider using `--verbose` to print the full type name to the console\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":93046,"byte_end":93070,"line_start":2109,"line_end":2109,"column_start":46,"column_end":70,"is_primary":true,"text":[{"text":" LinuxWindow::X11(x11_window) => (x11_window.window as u64, x11_window.display),","highlight_start":46,"highlight_end":70}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2109:46\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2109\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m LinuxWindow::X11(x11_window) => (x11_window.window as u64, x11_window.display),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/run.rs","byte_start":102336,"byte_end":102351,"line_start":2321,"line_end":2321,"column_start":45,"column_end":60,"is_primary":true,"text":[{"text":" w.window as u64","highlight_start":45,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/run.rs:2321:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2321\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m w.window as u64\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut u32` as `*mut u32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11065,"byte_end":11086,"line_start":270,"line_end":270,"column_start":58,"column_end":79,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_get_basic)(&mut vit, &mut b as *mut c_uint as *mut c_void);","highlight_start":58,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut u32` as `*mut u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:270:58\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m270\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_get_basic)(&mut vit, &mut b as *mut c_uint as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&*const i8` as `*const *const i8`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11561,"byte_end":11587,"line_start":284,"line_end":284,"column_start":51,"column_end":77,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_append_basic)(it, ty, &p as *const *const c_char as *mut c_void);","highlight_start":51,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&*const i8` as `*const *const i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:284:51\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m284\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_append_basic)(it, ty, &p as *const *const c_char as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&i32` as `*const i32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11744,"byte_end":11760,"line_start":288,"line_end":288,"column_start":64,"column_end":80,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_append_basic)(it, DBUS_TYPE_INT32, &v as *const i32 as *mut c_void);","highlight_start":64,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&i32` as `*const i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:288:64\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m288\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_append_basic)(it, DBUS_TYPE_INT32, &v as *const i32 as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&u32` as `*const u32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11918,"byte_end":11934,"line_start":292,"line_end":292,"column_start":65,"column_end":81,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_append_basic)(it, DBUS_TYPE_UINT32, &v as *const u32 as *const c_void);","highlight_start":65,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&u32` as `*const u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:292:65\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m292\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_append_basic)(it, DBUS_TYPE_UINT32, &v as *const u32 as *const c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&u32` as `*const u32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":12165,"byte_end":12184,"line_start":300,"line_end":300,"column_start":9,"column_end":28,"is_primary":true,"text":[{"text":" &b as *const c_uint as *mut c_void,","highlight_start":9,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&u32` as `*const u32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:300:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m300\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &b as *const c_uint as *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&u8` as `*const u8`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":13899,"byte_end":13913,"line_start":343,"line_end":343,"column_start":17,"column_end":31,"is_primary":true,"text":[{"text":" b as *const u8 as *mut c_void,","highlight_start":17,"highlight_end":31}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&u8` as `*const u8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:343:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m343\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m b as *const u8 as *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut i32` as `*mut i32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":21472,"byte_end":21494,"line_start":516,"line_end":516,"column_start":61,"column_end":83,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_get_basic)(&mut it, &mut delta as *mut i32 as *mut c_void);","highlight_start":61,"highlight_end":83}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut i32` as `*mut i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:516:61\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m516\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_get_basic)(&mut it, &mut delta as *mut i32 as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut *const i8` as `*mut *const i8`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":21903,"byte_end":21932,"line_start":524,"line_end":524,"column_start":25,"column_end":54,"is_primary":true,"text":[{"text":" &mut sp as *mut *const c_char as *mut c_void,","highlight_start":25,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut *const i8` as `*mut *const i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:524:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m524\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut sp as *mut *const c_char as *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut *const i8` as `*mut *const i8`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":23724,"byte_end":23753,"line_start":579,"line_end":579,"column_start":53,"column_end":82,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_get_basic)(&mut it, &mut sp as *mut *const c_char as *mut c_void);","highlight_start":53,"highlight_end":82}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut *const i8` as `*mut *const i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:579:53\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m579\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_get_basic)(&mut it, &mut sp as *mut *const c_char as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut i32` as `*mut i32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":32204,"byte_end":32222,"line_start":774,"line_end":774,"column_start":49,"column_end":67,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_get_basic)(&mut it, &mut v as *mut i32 as *mut c_void);","highlight_start":49,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut i32` as `*mut i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:774:49\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m774\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_get_basic)(&mut it, &mut v as *mut i32 as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut i32` as `*mut i32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":36618,"byte_end":36640,"line_start":872,"line_end":872,"column_start":25,"column_end":47,"is_primary":true,"text":[{"text":" &mut depth as *mut i32 as *mut c_void,","highlight_start":25,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut i32` as `*mut i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:872:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m872\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut depth as *mut i32 as *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut i32` as `*mut i32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":37954,"byte_end":37972,"line_start":898,"line_end":898,"column_start":66,"column_end":84,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_get_basic)(&mut ait, &mut v as *mut i32 as *mut c_void);","highlight_start":66,"highlight_end":84}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut i32` as `*mut i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:898:66\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m898\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_get_basic)(&mut ait, &mut v as *mut i32 as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut i32` as `*mut i32`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":40093,"byte_end":40112,"line_start":945,"line_end":945,"column_start":61,"column_end":80,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_get_basic)(&mut it, &mut id as *mut i32 as *mut c_void);","highlight_start":61,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut i32` as `*mut i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:945:61\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m945\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_get_basic)(&mut it, &mut id as *mut i32 as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&mut *const i8` as `*mut *const i8`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":40480,"byte_end":40509,"line_start":952,"line_end":952,"column_start":25,"column_end":54,"is_primary":true,"text":[{"text":" &mut sp as *mut *const c_char as *mut c_void,","highlight_start":25,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&mut *const i8` as `*mut *const i8`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:952:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m952\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut sp as *mut *const c_char as *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&SniState` as `*const SniState`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":48077,"byte_end":48103,"line_start":1150,"line_end":1150,"column_start":17,"column_end":43,"is_primary":true,"text":[{"text":" &*state as *const SniState as *mut c_void,","highlight_start":17,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&SniState` as `*const SniState`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:1150:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1150\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &*state as *const SniState as *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `&SniState` as `*const SniState`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":48742,"byte_end":48768,"line_start":1166,"line_end":1166,"column_start":17,"column_end":43,"is_primary":true,"text":[{"text":" &*state as *const SniState as *mut c_void,","highlight_start":17,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `&SniState` as `*const SniState`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:1166:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1166\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &*state as *const SniState as *mut c_void,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial cast: `Box` as `Box`","code":{"code":"trivial_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/wr_translate2.rs","byte_start":15092,"byte_end":15151,"line_start":370,"line_end":370,"column_start":26,"column_end":85,"is_primary":true,"text":[{"text":" .map(|p| Box::new(p) as Box),","highlight_start":26,"highlight_end":85}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial cast: `Box` as `Box`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/wr_translate2.rs:370:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m370\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m .map(|p| Box::new(p) as Box),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `i32` as `i32`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/native_screenshot.rs","byte_start":22686,"byte_end":22702,"line_start":559,"line_end":559,"column_start":20,"column_end":36,"is_primary":true,"text":[{"text":" let mut fds = [0 as libc::c_int; 2];","highlight_start":20,"highlight_end":36}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `i32` as `i32`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/native_screenshot.rs:559:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m559\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut fds = [0 as libc::c_int; 2];\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"trivial numeric cast: `u64` as `u64`","code":{"code":"trivial_numeric_casts","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/native_screenshot.rs","byte_start":32315,"byte_end":32331,"line_start":791,"line_end":791,"column_start":18,"column_end":34,"is_primary":true,"text":[{"text":" let window = window as Window;","highlight_start":18,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"cast can be replaced by coercion; this might require a temporary variable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: trivial numeric cast: `u64` as `u64`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/native_screenshot.rs:791:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m791\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let window = window as Window;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: cast can be replaced by coercion; this might require a temporary variable\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/keyring/linux.rs","byte_start":3828,"byte_end":3872,"line_start":115,"line_end":115,"column_start":18,"column_end":62,"is_primary":true,"text":[{"text":" let ht = (self.ht_new)(self.str_hash, self.str_equal);","highlight_start":18,"highlight_end":62}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/extra/keyring/linux.rs","byte_start":3757,"byte_end":3808,"line_start":114,"line_end":114,"column_start":5,"column_end":56,"is_primary":true,"text":[{"text":" unsafe fn attrs(&self, key_c: &CStr) -> *mut c_void {","highlight_start":5,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"the lint level is defined here","code":null,"level":"note","spans":[{"file_name":"dll/src/lib.rs","byte_start":2731,"byte_end":2753,"line_start":63,"line_end":63,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":" unsafe_op_in_unsafe_fn,","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/keyring/linux.rs","byte_start":3809,"byte_end":3809,"line_start":114,"line_end":114,"column_start":57,"column_end":57,"is_primary":true,"text":[{"text":" unsafe fn attrs(&self, key_c: &CStr) -> *mut c_void {","highlight_start":57,"highlight_end":57}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/extra/keyring/linux.rs","byte_start":4032,"byte_end":4032,"line_start":122,"line_end":122,"column_start":6,"column_end":6,"is_primary":true,"text":[{"text":" }","highlight_start":6,"highlight_end":6}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/keyring/linux.rs:115:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m115\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ht = (self.ht_new)(self.str_hash, self.str_equal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/keyring/linux.rs:114:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m114\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe fn attrs(&self, key_c: &CStr) -> *mut c_void {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: the lint level is defined here\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/lib.rs:63:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m63\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe_op_in_unsafe_fn,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/keyring/linux.rs","byte_start":3882,"byte_end":4014,"line_start":116,"line_end":120,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" (self.ht_insert)(","highlight_start":9,"highlight_end":26},{"text":" ht,","highlight_start":1,"highlight_end":16},{"text":" b\"key\\0\".as_ptr() as *mut c_void,","highlight_start":1,"highlight_end":46},{"text":" key_c.as_ptr() as *mut c_void,","highlight_start":1,"highlight_end":43},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/keyring/linux.rs:116:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m116\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.ht_insert)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m117\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ht,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m118\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m b\"key\\0\".as_ptr() as *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m119\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m key_c.as_ptr() as *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m120\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/keyring/linux.rs","byte_start":5435,"byte_end":5441,"line_start":160,"line_end":160,"column_start":18,"column_end":24,"is_primary":true,"text":[{"text":" let msg = if (*err).message.is_null() {","highlight_start":18,"highlight_end":24}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/extra/keyring/linux.rs","byte_start":5340,"byte_end":5415,"line_start":159,"line_end":159,"column_start":1,"column_end":76,"is_primary":true,"text":[{"text":"unsafe fn warn_gerror_and_free(lib: &SecretLib, op: &str, err: *mut GError) {","highlight_start":1,"highlight_end":76}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/keyring/linux.rs","byte_start":5416,"byte_end":5416,"line_start":159,"line_end":159,"column_start":77,"column_end":77,"is_primary":true,"text":[{"text":"unsafe fn warn_gerror_and_free(lib: &SecretLib, op: &str, err: *mut GError) {","highlight_start":77,"highlight_end":77}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/extra/keyring/linux.rs","byte_start":5818,"byte_end":5818,"line_start":175,"line_end":175,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/keyring/linux.rs:160:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m160\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let msg = if (*err).message.is_null() {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/keyring/linux.rs:159:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m159\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn warn_gerror_and_free(lib: &SecretLib, op: &str, err: *mut GError) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/keyring/linux.rs","byte_start":5513,"byte_end":5543,"line_start":163,"line_end":163,"column_start":9,"column_end":39,"is_primary":true,"text":[{"text":" CStr::from_ptr((*err).message)","highlight_start":9,"highlight_end":39}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/keyring/linux.rs:163:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m163\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m CStr::from_ptr((*err).message)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/keyring/linux.rs","byte_start":5528,"byte_end":5534,"line_start":163,"line_end":163,"column_start":24,"column_end":30,"is_primary":true,"text":[{"text":" CStr::from_ptr((*err).message)","highlight_start":24,"highlight_end":30}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/keyring/linux.rs:163:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m163\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m CStr::from_ptr((*err).message)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/keyring/linux.rs","byte_start":5746,"byte_end":5752,"line_start":171,"line_end":171,"column_start":9,"column_end":15,"is_primary":true,"text":[{"text":" (*err).domain,","highlight_start":9,"highlight_end":15}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/keyring/linux.rs:171:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m171\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (*err).domain,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/keyring/linux.rs","byte_start":5769,"byte_end":5775,"line_start":172,"line_end":172,"column_start":9,"column_end":15,"is_primary":true,"text":[{"text":" (*err).code","highlight_start":9,"highlight_end":15}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/keyring/linux.rs:172:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m172\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (*err).code\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/keyring/linux.rs","byte_start":5792,"byte_end":5815,"line_start":174,"line_end":174,"column_start":5,"column_end":28,"is_primary":true,"text":[{"text":" (lib.g_error_free)(err);","highlight_start":5,"highlight_end":28}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/keyring/linux.rs:174:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m174\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (lib.g_error_free)(err);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":9623,"byte_end":9638,"line_start":228,"line_end":228,"column_start":13,"column_end":28,"is_primary":true,"text":[{"text":" let p = get(c.as_ptr())?;","highlight_start":13,"highlight_end":28}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":9483,"byte_end":9560,"line_start":226,"line_end":226,"column_start":1,"column_end":78,"is_primary":true,"text":[{"text":"unsafe fn proc_addr(get: EglGetProcAddress, name: &str) -> Option {","highlight_start":1,"highlight_end":78}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":9561,"byte_end":9561,"line_start":226,"line_end":226,"column_start":79,"column_end":79,"is_primary":true,"text":[{"text":"unsafe fn proc_addr(get: EglGetProcAddress, name: &str) -> Option {","highlight_start":79,"highlight_end":79}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":9760,"byte_end":9760,"line_start":231,"line_end":231,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:228:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m228\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let p = get(c.as_ptr())?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:226:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m226\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn proc_addr(get: EglGetProcAddress, name: &str) -> Option {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":9726,"byte_end":9757,"line_start":230,"line_end":230,"column_start":10,"column_end":41,"is_primary":true,"text":[{"text":" Some(*(&p as *const PFN as *const T))","highlight_start":10,"highlight_end":41}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:230:10\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m230\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Some(*(&p as *const PFN as *const T))\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":25878,"byte_end":25907,"line_start":595,"line_end":595,"column_start":22,"column_end":51,"is_primary":true,"text":[{"text":" let sh = (self.gl.create_shader)(kind);","highlight_start":22,"highlight_end":51}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":25483,"byte_end":25526,"line_start":590,"line_end":590,"column_start":5,"column_end":48,"is_primary":true,"text":[{"text":" unsafe fn build_blit(&self) -> Option {","highlight_start":5,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":25527,"byte_end":25527,"line_start":590,"line_end":590,"column_start":49,"column_end":49,"is_primary":true,"text":[{"text":" unsafe fn build_blit(&self) -> Option {","highlight_start":49,"highlight_end":49}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":27988,"byte_end":27988,"line_start":656,"line_end":656,"column_start":6,"column_end":6,"is_primary":true,"text":[{"text":" }","highlight_start":6,"highlight_end":6}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:595:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m595\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let sh = (self.gl.create_shader)(kind);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:590:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m590\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe fn build_blit(&self) -> Option {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":25972,"byte_end":26019,"line_start":597,"line_end":597,"column_start":13,"column_end":60,"is_primary":true,"text":[{"text":" (self.gl.shader_source)(sh, 1, &p, ptr::null());","highlight_start":13,"highlight_end":60}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:597:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m597\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.gl.shader_source)(sh, 1, &p, ptr::null());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":26033,"byte_end":26061,"line_start":598,"line_end":598,"column_start":13,"column_end":41,"is_primary":true,"text":[{"text":" (self.gl.compile_shader)(sh);","highlight_start":13,"highlight_end":41}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:598:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m598\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.gl.compile_shader)(sh);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":26106,"byte_end":26160,"line_start":600,"line_end":600,"column_start":13,"column_end":67,"is_primary":true,"text":[{"text":" (self.gl.get_shaderiv)(sh, GL_COMPILE_STATUS, &mut ok);","highlight_start":13,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:600:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m600\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.gl.get_shaderiv)(sh, GL_COMPILE_STATUS, &mut ok);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":26449,"byte_end":26475,"line_start":609,"line_end":609,"column_start":20,"column_end":46,"is_primary":true,"text":[{"text":" let prog = (self.gl.create_program)();","highlight_start":20,"highlight_end":46}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":25483,"byte_end":25526,"line_start":590,"line_end":590,"column_start":5,"column_end":48,"is_primary":true,"text":[{"text":" unsafe fn build_blit(&self) -> Option {","highlight_start":5,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":25527,"byte_end":25527,"line_start":590,"line_end":590,"column_start":49,"column_end":49,"is_primary":true,"text":[{"text":" unsafe fn build_blit(&self) -> Option {","highlight_start":49,"highlight_end":49}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":27988,"byte_end":27988,"line_start":656,"line_end":656,"column_start":6,"column_end":6,"is_primary":true,"text":[{"text":" }","highlight_start":6,"highlight_end":6}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:609:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m609\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let prog = (self.gl.create_program)();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:590:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m590\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe fn build_blit(&self) -> Option {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":26485,"byte_end":26519,"line_start":610,"line_end":610,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" (self.gl.attach_shader)(prog, vsh);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:610:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m610\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.gl.attach_shader)(prog, vsh);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":26529,"byte_end":26563,"line_start":611,"line_end":611,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" (self.gl.attach_shader)(prog, fsh);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:611:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m611\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.gl.attach_shader)(prog, fsh);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":26573,"byte_end":26601,"line_start":612,"line_end":612,"column_start":9,"column_end":37,"is_primary":true,"text":[{"text":" (self.gl.link_program)(prog);","highlight_start":9,"highlight_end":37}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:612:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m612\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.gl.link_program)(prog);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":26638,"byte_end":26692,"line_start":614,"line_end":614,"column_start":9,"column_end":63,"is_primary":true,"text":[{"text":" (self.gl.get_programiv)(prog, GL_LINK_STATUS, &mut ok);","highlight_start":9,"highlight_end":63}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:614:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m614\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.gl.get_programiv)(prog, GL_LINK_STATUS, &mut ok);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":26811,"byte_end":26882,"line_start":619,"line_end":619,"column_start":21,"column_end":92,"is_primary":true,"text":[{"text":" let a_pos = (self.gl.get_attrib_location)(prog, b\"pos\\0\".as_ptr() as *const c_char);","highlight_start":21,"highlight_end":92}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:619:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m619\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let a_pos = (self.gl.get_attrib_location)(prog, b\"pos\\0\".as_ptr() as *const c_char);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":26904,"byte_end":26976,"line_start":620,"line_end":620,"column_start":21,"column_end":93,"is_primary":true,"text":[{"text":" let u_tex = (self.gl.get_uniform_location)(prog, b\"tex\\0\".as_ptr() as *const c_char);","highlight_start":21,"highlight_end":93}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:620:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m620\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let u_tex = (self.gl.get_uniform_location)(prog, b\"tex\\0\".as_ptr() as *const c_char);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":27250,"byte_end":27284,"line_start":629,"line_end":629,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" (self.gl.gen_buffers)(1, &mut vbo);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:629:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m629\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.gl.gen_buffers)(1, &mut vbo);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":27294,"byte_end":27337,"line_start":630,"line_end":630,"column_start":9,"column_end":52,"is_primary":true,"text":[{"text":" (self.gl.bind_buffer)(GL_ARRAY_BUFFER, vbo);","highlight_start":9,"highlight_end":52}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:630:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m630\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.gl.bind_buffer)(GL_ARRAY_BUFFER, vbo);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":27347,"byte_end":27533,"line_start":631,"line_end":636,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" (self.gl.buffer_data)(","highlight_start":9,"highlight_end":31},{"text":" GL_ARRAY_BUFFER,","highlight_start":1,"highlight_end":29},{"text":" std::mem::size_of_val(&verts) as isize,","highlight_start":1,"highlight_end":52},{"text":" verts.as_ptr() as *const c_void,","highlight_start":1,"highlight_end":45},{"text":" GL_STATIC_DRAW,","highlight_start":1,"highlight_end":28},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:631:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m631\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.gl.buffer_data)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m632\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m GL_ARRAY_BUFFER,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m633\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::size_of_val(&verts) as isize,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m634\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m verts.as_ptr() as *const c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m635\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m GL_STATIC_DRAW,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m636\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":27636,"byte_end":27675,"line_start":641,"line_end":641,"column_start":9,"column_end":48,"is_primary":true,"text":[{"text":" (self.gl.gen_textures)(1, &mut src_tex);","highlight_start":9,"highlight_end":48}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:641:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m641\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.gl.gen_textures)(1, &mut src_tex);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":27685,"byte_end":27724,"line_start":642,"line_end":642,"column_start":9,"column_end":48,"is_primary":true,"text":[{"text":" (self.gl.gen_textures)(1, &mut dst_tex);","highlight_start":9,"highlight_end":48}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:642:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m642\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.gl.gen_textures)(1, &mut dst_tex);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/extra/screencap/dmabuf.rs","byte_start":27734,"byte_end":27773,"line_start":643,"line_end":643,"column_start":9,"column_end":48,"is_primary":true,"text":[{"text":" (self.gl.gen_framebuffers)(1, &mut fbo);","highlight_start":9,"highlight_end":48}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/extra/screencap/dmabuf.rs:643:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m643\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.gl.gen_framebuffers)(1, &mut fbo);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"value assigned to `anim_first_rects` is never read","code":{"code":"unused_assignments","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/layout.rs","byte_start":47611,"byte_end":47627,"line_start":940,"line_end":940,"column_start":13,"column_end":29,"is_primary":true,"text":[{"text":" let mut anim_first_rects: std::collections::BTreeMap<","highlight_start":13,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"maybe it is overwritten before being read?","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"`#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: value assigned to `anim_first_rects` is never read\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/layout.rs:940:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m940\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut anim_first_rects: std::collections::BTreeMap<\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: maybe it is overwritten before being read?\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"value assigned to `anim_node_moves` is never read","code":{"code":"unused_assignments","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/layout.rs","byte_start":47782,"byte_end":47797,"line_start":944,"line_end":944,"column_start":13,"column_end":28,"is_primary":true,"text":[{"text":" let mut anim_node_moves: Vec = Vec::new();","highlight_start":13,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"maybe it is overwritten before being read?","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: value assigned to `anim_node_moves` is never read\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/layout.rs:944:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m944\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut anim_node_moves: Vec = Vec::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: maybe it is overwritten before being read?\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"value assigned to `anim_new_node_data` is never read","code":{"code":"unused_assignments","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/layout.rs","byte_start":47856,"byte_end":47874,"line_start":945,"line_end":945,"column_start":13,"column_end":31,"is_primary":true,"text":[{"text":" let mut anim_new_node_data: Vec = Vec::new();","highlight_start":13,"highlight_end":31}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"maybe it is overwritten before being read?","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: value assigned to `anim_new_node_data` is never read\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/layout.rs:945:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m945\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut anim_new_node_data: Vec = Vec::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: maybe it is overwritten before being read?\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"value assigned to `anim_new_hierarchy` is never read","code":{"code":"unused_assignments","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/common/layout.rs","byte_start":47932,"byte_end":47950,"line_start":946,"line_end":946,"column_start":13,"column_end":31,"is_primary":true,"text":[{"text":" let mut anim_new_hierarchy: Vec = Vec::new();","highlight_start":13,"highlight_end":31}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"maybe it is overwritten before being read?","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: value assigned to `anim_new_hierarchy` is never read\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/common/layout.rs:946:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m946\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut anim_new_hierarchy: Vec = Vec::new();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: maybe it is overwritten before being read?\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::system_style::getuid` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":24288,"byte_end":24296,"line_start":595,"line_end":595,"column_start":5,"column_end":13,"is_primary":true,"text":[{"text":" getuid()","highlight_start":5,"highlight_end":13}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":24251,"byte_end":24281,"line_start":594,"line_end":594,"column_start":1,"column_end":31,"is_primary":true,"text":[{"text":"unsafe fn libc_getuid() -> u32 {","highlight_start":1,"highlight_end":31}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":24282,"byte_end":24282,"line_start":594,"line_end":594,"column_start":32,"column_end":32,"is_primary":true,"text":[{"text":"unsafe fn libc_getuid() -> u32 {","highlight_start":32,"highlight_end":32}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":24298,"byte_end":24298,"line_start":596,"line_end":596,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::system_style::getuid` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/system_style.rs:595:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m595\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m getuid()\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/system_style.rs:594:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m594\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn libc_getuid() -> u32 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"value assigned to `desktop_answered` is never read","code":{"code":"unused_assignments","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/system_style.rs","byte_start":105554,"byte_end":105570,"line_start":2466,"line_end":2466,"column_start":13,"column_end":29,"is_primary":true,"text":[{"text":" let mut desktop_answered = false;","highlight_start":13,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"maybe it is overwritten before being read?","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: value assigned to `desktop_answered` is never read\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/system_style.rs:2466:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2466\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut desktop_answered = false;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: maybe it is overwritten before being read?\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/manager.rs","byte_start":1754,"byte_end":1793,"line_start":50,"line_end":50,"column_start":9,"column_end":48,"is_primary":true,"text":[{"text":" std::ffi::CStr::from_ptr(error.message)","highlight_start":9,"highlight_end":48}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/manager.rs","byte_start":1615,"byte_end":1709,"line_start":48,"line_end":48,"column_start":1,"column_end":95,"is_primary":true,"text":[{"text":"unsafe fn dbus_error_message(error: &crate::desktop::shell2::linux::dbus::DBusError) -> String {","highlight_start":1,"highlight_end":95}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/manager.rs","byte_start":1710,"byte_end":1710,"line_start":48,"line_end":48,"column_start":96,"column_end":96,"is_primary":true,"text":[{"text":"unsafe fn dbus_error_message(error: &crate::desktop::shell2::linux::dbus::DBusError) -> String {","highlight_start":96,"highlight_end":96}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/manager.rs","byte_start":1907,"byte_end":1907,"line_start":56,"line_end":56,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/manager.rs:50:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m50\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ffi::CStr::from_ptr(error.message)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/manager.rs:48:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m48\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn dbus_error_message(error: &crate::desktop::shell2::linux::dbus::DBusError) -> String {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":4501,"byte_end":4546,"line_start":136,"line_end":136,"column_start":22,"column_end":67,"is_primary":true,"text":[{"text":" let _state = Box::from_raw(user_data as *mut HandlerState);","highlight_start":22,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":4294,"byte_end":4408,"line_start":130,"line_end":133,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn menus_unregister_handler(","highlight_start":1,"highlight_end":47},{"text":" _connection: *mut DBusConnection,","highlight_start":1,"highlight_end":38},{"text":" user_data: *mut c_void,","highlight_start":1,"highlight_end":28},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":4409,"byte_end":4409,"line_start":133,"line_end":133,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":4604,"byte_end":4604,"line_start":139,"line_end":139,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:136:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m136\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let _state = Box::from_raw(user_data as *mut HandlerState);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:130:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m130\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn menus_unregister_handler(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m131\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m _connection: *mut DBusConnection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m132\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m user_data: *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m133\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":4933,"byte_end":4968,"line_start":151,"line_end":151,"column_start":18,"column_end":53,"is_primary":true,"text":[{"text":" let state = &*(user_data as *const HandlerState);","highlight_start":18,"highlight_end":53}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":4654,"byte_end":4804,"line_start":142,"line_end":146,"column_start":1,"column_end":11,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn menus_message_handler(","highlight_start":1,"highlight_end":44},{"text":" connection: *mut DBusConnection,","highlight_start":1,"highlight_end":37},{"text":" message: *mut DBusMessage,","highlight_start":1,"highlight_end":31},{"text":" user_data: *mut c_void,","highlight_start":1,"highlight_end":28},{"text":") -> c_int {","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":4805,"byte_end":4805,"line_start":146,"line_end":146,"column_start":12,"column_end":12,"is_primary":true,"text":[{"text":") -> c_int {","highlight_start":12,"highlight_end":12}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":5786,"byte_end":5786,"line_start":175,"line_end":175,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:151:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m151\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let state = &*(user_data as *const HandlerState);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:142:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m142\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn menus_message_handler(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m143\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m connection: *mut DBusConnection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m144\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m message: *mut DBusMessage,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m145\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m user_data: *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m146\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> c_int {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|__________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":5029,"byte_end":5081,"line_start":154,"line_end":154,"column_start":21,"column_end":73,"is_primary":true,"text":[{"text":" let interface = (state.dbus_lib.dbus_message_get_interface)(message);","highlight_start":21,"highlight_end":73}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:154:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m154\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let interface = (state.dbus_lib.dbus_message_get_interface)(message);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":5100,"byte_end":5149,"line_start":155,"line_end":155,"column_start":18,"column_end":67,"is_primary":true,"text":[{"text":" let member = (state.dbus_lib.dbus_message_get_member)(message);","highlight_start":18,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:155:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m155\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let member = (state.dbus_lib.dbus_message_get_member)(message);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":5284,"byte_end":5309,"line_start":161,"line_end":161,"column_start":25,"column_end":50,"is_primary":true,"text":[{"text":" let interface_str = CStr::from_ptr(interface).to_string_lossy();","highlight_start":25,"highlight_end":50}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:161:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m161\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let interface_str = CStr::from_ptr(interface).to_string_lossy();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":5350,"byte_end":5372,"line_start":162,"line_end":162,"column_start":22,"column_end":44,"is_primary":true,"text":[{"text":" let member_str = CStr::from_ptr(member).to_string_lossy();","highlight_start":22,"highlight_end":44}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:162:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m162\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let member_str = CStr::from_ptr(member).to_string_lossy();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::handle_menus_start` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":5618,"byte_end":5664,"line_start":171,"line_end":171,"column_start":20,"column_end":66,"is_primary":true,"text":[{"text":" \"Start\" => handle_menus_start(state, connection, message),","highlight_start":20,"highlight_end":66}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::handle_menus_start` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:171:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m171\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"Start\" => handle_menus_start(state, connection, message),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::handle_menus_end` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":5683,"byte_end":5727,"line_start":172,"line_end":172,"column_start":18,"column_end":62,"is_primary":true,"text":[{"text":" \"End\" => handle_menus_end(state, connection, message),","highlight_start":18,"highlight_end":62}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::handle_menus_end` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:172:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m172\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"End\" => handle_menus_end(state, connection, message),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":6081,"byte_end":6118,"line_start":186,"line_end":186,"column_start":20,"column_end":57,"is_primary":true,"text":[{"text":" let mut iter = std::mem::zeroed::();","highlight_start":20,"highlight_end":57}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":5830,"byte_end":5964,"line_start":178,"line_end":182,"column_start":1,"column_end":11,"is_primary":true,"text":[{"text":"unsafe fn handle_menus_start(","highlight_start":1,"highlight_end":30},{"text":" state: &HandlerState,","highlight_start":1,"highlight_end":26},{"text":" connection: *mut DBusConnection,","highlight_start":1,"highlight_end":37},{"text":" message: *mut DBusMessage,","highlight_start":1,"highlight_end":31},{"text":") -> c_int {","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":5965,"byte_end":5965,"line_start":182,"line_end":182,"column_start":12,"column_end":12,"is_primary":true,"text":[{"text":") -> c_int {","highlight_start":12,"highlight_end":12}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":9193,"byte_end":9193,"line_start":270,"line_end":270,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:186:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m186\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut iter = std::mem::zeroed::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:178:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m178\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn handle_menus_start(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m179\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m state: &HandlerState,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m180\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m connection: *mut DBusConnection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m181\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m message: *mut DBusMessage,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m182\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> c_int {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|__________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":6127,"byte_end":6186,"line_start":187,"line_end":187,"column_start":8,"column_end":67,"is_primary":true,"text":[{"text":" if (state.dbus_lib.dbus_message_iter_init)(message, &mut iter) == 0 {","highlight_start":8,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:187:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m187\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (state.dbus_lib.dbus_message_iter_init)(message, &mut iter) == 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":6209,"byte_end":6279,"line_start":188,"line_end":188,"column_start":16,"column_end":86,"is_primary":true,"text":[{"text":" return send_error_reply(state, connection, message, \"Invalid message format\");","highlight_start":16,"highlight_end":86}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:188:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m188\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return send_error_reply(state, connection, message, \"Invalid message format\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":6307,"byte_end":6365,"line_start":191,"line_end":191,"column_start":20,"column_end":78,"is_primary":true,"text":[{"text":" let arg_type = (state.dbus_lib.dbus_message_iter_get_arg_type)(&mut iter);","highlight_start":20,"highlight_end":78}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:191:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m191\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let arg_type = (state.dbus_lib.dbus_message_iter_get_arg_type)(&mut iter);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":6419,"byte_end":6490,"line_start":193,"line_end":193,"column_start":16,"column_end":87,"is_primary":true,"text":[{"text":" return send_error_reply(state, connection, message, \"Expected array argument\");","highlight_start":16,"highlight_end":87}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:193:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m193\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return send_error_reply(state, connection, message, \"Expected array argument\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":6550,"byte_end":6587,"line_start":197,"line_end":197,"column_start":26,"column_end":63,"is_primary":true,"text":[{"text":" let mut array_iter = std::mem::zeroed::();","highlight_start":26,"highlight_end":63}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:197:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m197\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut array_iter = std::mem::zeroed::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":6593,"byte_end":6663,"line_start":198,"line_end":198,"column_start":5,"column_end":75,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_iter_recurse)(&mut iter, &mut array_iter);","highlight_start":5,"highlight_end":75}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:198:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m198\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_iter_recurse)(&mut iter, &mut array_iter);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":6770,"byte_end":6834,"line_start":203,"line_end":203,"column_start":25,"column_end":89,"is_primary":true,"text":[{"text":" let elem_type = (state.dbus_lib.dbus_message_iter_get_arg_type)(&mut array_iter);","highlight_start":25,"highlight_end":89}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:203:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m203\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let elem_type = (state.dbus_lib.dbus_message_iter_get_arg_type)(&mut array_iter);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":6985,"byte_end":7132,"line_start":210,"line_end":213,"column_start":13,"column_end":14,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_iter_get_basic)(","highlight_start":13,"highlight_end":58},{"text":" &mut array_iter,","highlight_start":1,"highlight_end":33},{"text":" &mut value as *mut u32 as *mut c_void,","highlight_start":1,"highlight_end":55},{"text":" );","highlight_start":1,"highlight_end":14}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:210:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m210\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_iter_get_basic)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m211\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut array_iter,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m212\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut value as *mut u32 as *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m213\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":7195,"byte_end":7251,"line_start":217,"line_end":217,"column_start":12,"column_end":68,"is_primary":true,"text":[{"text":" if (state.dbus_lib.dbus_message_iter_next)(&mut array_iter) == 0 {","highlight_start":12,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:217:12\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m217\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (state.dbus_lib.dbus_message_iter_next)(&mut array_iter) == 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":7426,"byte_end":7482,"line_start":225,"line_end":225,"column_start":17,"column_end":73,"is_primary":true,"text":[{"text":" let reply = (state.dbus_lib.dbus_message_new_method_return)(message);","highlight_start":17,"highlight_end":73}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:225:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m225\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let reply = (state.dbus_lib.dbus_message_new_method_return)(message);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":7589,"byte_end":7626,"line_start":230,"line_end":230,"column_start":26,"column_end":63,"is_primary":true,"text":[{"text":" let mut reply_iter = std::mem::zeroed::();","highlight_start":26,"highlight_end":63}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:230:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m230\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut reply_iter = std::mem::zeroed::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":7632,"byte_end":7702,"line_start":231,"line_end":231,"column_start":5,"column_end":75,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_iter_init_append)(reply, &mut reply_iter);","highlight_start":5,"highlight_end":75}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:231:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m231\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_iter_init_append)(reply, &mut reply_iter);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":7774,"byte_end":7811,"line_start":234,"line_end":234,"column_start":26,"column_end":63,"is_primary":true,"text":[{"text":" let mut array_iter = std::mem::zeroed::();","highlight_start":26,"highlight_end":63}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:234:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m234\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut array_iter = std::mem::zeroed::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":7877,"byte_end":8036,"line_start":236,"line_end":241,"column_start":8,"column_end":6,"is_primary":true,"text":[{"text":" if (state.dbus_lib.dbus_message_iter_open_container)(","highlight_start":8,"highlight_end":58},{"text":" &mut reply_iter,","highlight_start":1,"highlight_end":25},{"text":" DBUS_TYPE_ARRAY,","highlight_start":1,"highlight_end":25},{"text":" array_sig.as_ptr(),","highlight_start":1,"highlight_end":28},{"text":" &mut array_iter,","highlight_start":1,"highlight_end":25},{"text":" ) == 0","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:236:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m236\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (state.dbus_lib.dbus_message_iter_open_container)(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m ________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m237\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut reply_iter,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m238\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m DBUS_TYPE_ARRAY,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m239\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m array_sig.as_ptr(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m240\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut array_iter,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m241\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) == 0\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":8056,"byte_end":8098,"line_start":243,"line_end":243,"column_start":9,"column_end":51,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_unref)(reply);","highlight_start":9,"highlight_end":51}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:243:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m243\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_unref)(reply);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":8115,"byte_end":8187,"line_start":244,"line_end":244,"column_start":16,"column_end":88,"is_primary":true,"text":[{"text":" return send_error_reply(state, connection, message, \"Failed to build response\");","highlight_start":16,"highlight_end":88}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:244:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m244\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return send_error_reply(state, connection, message, \"Failed to build response\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":8716,"byte_end":8800,"line_start":259,"line_end":259,"column_start":8,"column_end":92,"is_primary":true,"text":[{"text":" if (state.dbus_lib.dbus_message_iter_close_container)(&mut reply_iter, &mut array_iter) == 0 {","highlight_start":8,"highlight_end":92}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:259:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m259\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (state.dbus_lib.dbus_message_iter_close_container)(&mut reply_iter, &mut array_iter) == 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":8816,"byte_end":8858,"line_start":260,"line_end":260,"column_start":9,"column_end":51,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_unref)(reply);","highlight_start":9,"highlight_end":51}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:260:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m260\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_unref)(reply);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":8875,"byte_end":8944,"line_start":261,"line_end":261,"column_start":16,"column_end":85,"is_primary":true,"text":[{"text":" return send_error_reply(state, connection, message, \"Failed to close array\");","highlight_start":16,"highlight_end":85}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:261:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m261\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return send_error_reply(state, connection, message, \"Failed to close array\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":8975,"byte_end":9053,"line_start":265,"line_end":265,"column_start":5,"column_end":83,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_connection_send)(connection, reply, std::ptr::null_mut());","highlight_start":5,"highlight_end":83}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:265:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m265\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_connection_send)(connection, reply, std::ptr::null_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":9059,"byte_end":9109,"line_start":266,"line_end":266,"column_start":5,"column_end":55,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_connection_flush)(connection);","highlight_start":5,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:266:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m266\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_connection_flush)(connection);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":9115,"byte_end":9157,"line_start":267,"line_end":267,"column_start":5,"column_end":47,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_unref)(reply);","highlight_start":5,"highlight_end":47}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:267:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_unref)(reply);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":9489,"byte_end":9545,"line_start":281,"line_end":281,"column_start":17,"column_end":73,"is_primary":true,"text":[{"text":" let reply = (state.dbus_lib.dbus_message_new_method_return)(message);","highlight_start":17,"highlight_end":73}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":9235,"byte_end":9367,"line_start":273,"line_end":277,"column_start":1,"column_end":11,"is_primary":true,"text":[{"text":"unsafe fn handle_menus_end(","highlight_start":1,"highlight_end":28},{"text":" state: &HandlerState,","highlight_start":1,"highlight_end":26},{"text":" connection: *mut DBusConnection,","highlight_start":1,"highlight_end":37},{"text":" message: *mut DBusMessage,","highlight_start":1,"highlight_end":31},{"text":") -> c_int {","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":9368,"byte_end":9368,"line_start":277,"line_end":277,"column_start":12,"column_end":12,"is_primary":true,"text":[{"text":") -> c_int {","highlight_start":12,"highlight_end":12}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":9849,"byte_end":9849,"line_start":291,"line_end":291,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:281:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m281\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let reply = (state.dbus_lib.dbus_message_new_method_return)(message);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:273:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m273\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn handle_menus_end(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m state: &HandlerState,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m275\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m connection: *mut DBusConnection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m276\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m message: *mut DBusMessage,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m277\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> c_int {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|__________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":9631,"byte_end":9709,"line_start":286,"line_end":286,"column_start":5,"column_end":83,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_connection_send)(connection, reply, std::ptr::null_mut());","highlight_start":5,"highlight_end":83}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:286:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m286\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_connection_send)(connection, reply, std::ptr::null_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":9715,"byte_end":9765,"line_start":287,"line_end":287,"column_start":5,"column_end":55,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_connection_flush)(connection);","highlight_start":5,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:287:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_connection_flush)(connection);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":9771,"byte_end":9813,"line_start":288,"line_end":288,"column_start":5,"column_end":47,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_unref)(reply);","highlight_start":5,"highlight_end":47}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:288:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m288\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_unref)(reply);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":10064,"byte_end":10109,"line_start":299,"line_end":299,"column_start":22,"column_end":67,"is_primary":true,"text":[{"text":" let _state = Box::from_raw(user_data as *mut HandlerState);","highlight_start":22,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":9894,"byte_end":10010,"line_start":294,"line_end":297,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn actions_unregister_handler(","highlight_start":1,"highlight_end":49},{"text":" _connection: *mut DBusConnection,","highlight_start":1,"highlight_end":38},{"text":" user_data: *mut c_void,","highlight_start":1,"highlight_end":28},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":10011,"byte_end":10011,"line_start":297,"line_end":297,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":10169,"byte_end":10169,"line_start":302,"line_end":302,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:299:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m299\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let _state = Box::from_raw(user_data as *mut HandlerState);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:294:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m294\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn actions_unregister_handler(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m295\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m _connection: *mut DBusConnection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m296\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m user_data: *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m297\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":10502,"byte_end":10537,"line_start":314,"line_end":314,"column_start":18,"column_end":53,"is_primary":true,"text":[{"text":" let state = &*(user_data as *const HandlerState);","highlight_start":18,"highlight_end":53}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":10221,"byte_end":10373,"line_start":305,"line_end":309,"column_start":1,"column_end":11,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn actions_message_handler(","highlight_start":1,"highlight_end":46},{"text":" connection: *mut DBusConnection,","highlight_start":1,"highlight_end":37},{"text":" message: *mut DBusMessage,","highlight_start":1,"highlight_end":31},{"text":" user_data: *mut c_void,","highlight_start":1,"highlight_end":28},{"text":") -> c_int {","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":10374,"byte_end":10374,"line_start":309,"line_end":309,"column_start":12,"column_end":12,"is_primary":true,"text":[{"text":") -> c_int {","highlight_start":12,"highlight_end":12}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":11490,"byte_end":11490,"line_start":339,"line_end":339,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:314:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m314\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let state = &*(user_data as *const HandlerState);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:305:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m305\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn actions_message_handler(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m306\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m connection: *mut DBusConnection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m307\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m message: *mut DBusMessage,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m308\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m user_data: *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m309\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> c_int {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|__________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":10560,"byte_end":10612,"line_start":316,"line_end":316,"column_start":21,"column_end":73,"is_primary":true,"text":[{"text":" let interface = (state.dbus_lib.dbus_message_get_interface)(message);","highlight_start":21,"highlight_end":73}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:316:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m316\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let interface = (state.dbus_lib.dbus_message_get_interface)(message);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":10631,"byte_end":10680,"line_start":317,"line_end":317,"column_start":18,"column_end":67,"is_primary":true,"text":[{"text":" let member = (state.dbus_lib.dbus_message_get_member)(message);","highlight_start":18,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:317:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m317\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let member = (state.dbus_lib.dbus_message_get_member)(message);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":10815,"byte_end":10840,"line_start":323,"line_end":323,"column_start":25,"column_end":50,"is_primary":true,"text":[{"text":" let interface_str = CStr::from_ptr(interface).to_string_lossy();","highlight_start":25,"highlight_end":50}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:323:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m323\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let interface_str = CStr::from_ptr(interface).to_string_lossy();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":10881,"byte_end":10903,"line_start":324,"line_end":324,"column_start":22,"column_end":44,"is_primary":true,"text":[{"text":" let member_str = CStr::from_ptr(member).to_string_lossy();","highlight_start":22,"highlight_end":44}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:324:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m324\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let member_str = CStr::from_ptr(member).to_string_lossy();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::handle_actions_list` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":11152,"byte_end":11199,"line_start":333,"line_end":333,"column_start":19,"column_end":66,"is_primary":true,"text":[{"text":" \"List\" => handle_actions_list(state, connection, message),","highlight_start":19,"highlight_end":66}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::handle_actions_list` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:333:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m333\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"List\" => handle_actions_list(state, connection, message),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::handle_actions_describe` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":11223,"byte_end":11274,"line_start":334,"line_end":334,"column_start":23,"column_end":74,"is_primary":true,"text":[{"text":" \"Describe\" => handle_actions_describe(state, connection, message),","highlight_start":23,"highlight_end":74}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::handle_actions_describe` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:334:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m334\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"Describe\" => handle_actions_describe(state, connection, message),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::handle_actions_describe_all` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":11301,"byte_end":11356,"line_start":335,"line_end":335,"column_start":26,"column_end":81,"is_primary":true,"text":[{"text":" \"DescribeAll\" => handle_actions_describe_all(state, connection, message),","highlight_start":26,"highlight_end":81}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::handle_actions_describe_all` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:335:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m335\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"DescribeAll\" => handle_actions_describe_all(state, connection, message),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::handle_actions_activate` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":11380,"byte_end":11431,"line_start":336,"line_end":336,"column_start":23,"column_end":74,"is_primary":true,"text":[{"text":" \"Activate\" => handle_actions_activate(state, connection, message),","highlight_start":23,"highlight_end":74}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::handle_actions_activate` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:336:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m336\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"Activate\" => handle_actions_activate(state, connection, message),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":11875,"byte_end":11931,"line_start":352,"line_end":352,"column_start":17,"column_end":73,"is_primary":true,"text":[{"text":" let reply = (state.dbus_lib.dbus_message_new_method_return)(message);","highlight_start":17,"highlight_end":73}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":11532,"byte_end":11667,"line_start":342,"line_end":346,"column_start":1,"column_end":11,"is_primary":true,"text":[{"text":"unsafe fn handle_actions_list(","highlight_start":1,"highlight_end":31},{"text":" state: &HandlerState,","highlight_start":1,"highlight_end":26},{"text":" connection: *mut DBusConnection,","highlight_start":1,"highlight_end":37},{"text":" message: *mut DBusMessage,","highlight_start":1,"highlight_end":31},{"text":") -> c_int {","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":11668,"byte_end":11668,"line_start":346,"line_end":346,"column_start":12,"column_end":12,"is_primary":true,"text":[{"text":") -> c_int {","highlight_start":12,"highlight_end":12}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":13245,"byte_end":13245,"line_start":391,"line_end":391,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:352:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m352\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let reply = (state.dbus_lib.dbus_message_new_method_return)(message);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:342:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m342\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn handle_actions_list(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m343\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m state: &HandlerState,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m344\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m connection: *mut DBusConnection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m345\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m message: *mut DBusMessage,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> c_int {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|__________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":12038,"byte_end":12075,"line_start":357,"line_end":357,"column_start":26,"column_end":63,"is_primary":true,"text":[{"text":" let mut reply_iter = std::mem::zeroed::();","highlight_start":26,"highlight_end":63}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:357:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m357\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut reply_iter = std::mem::zeroed::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":12081,"byte_end":12151,"line_start":358,"line_end":358,"column_start":5,"column_end":75,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_iter_init_append)(reply, &mut reply_iter);","highlight_start":5,"highlight_end":75}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:358:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_iter_init_append)(reply, &mut reply_iter);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":12208,"byte_end":12245,"line_start":361,"line_end":361,"column_start":26,"column_end":63,"is_primary":true,"text":[{"text":" let mut array_iter = std::mem::zeroed::();","highlight_start":26,"highlight_end":63}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:361:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m361\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut array_iter = std::mem::zeroed::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":12302,"byte_end":12461,"line_start":363,"line_end":368,"column_start":8,"column_end":6,"is_primary":true,"text":[{"text":" if (state.dbus_lib.dbus_message_iter_open_container)(","highlight_start":8,"highlight_end":58},{"text":" &mut reply_iter,","highlight_start":1,"highlight_end":25},{"text":" DBUS_TYPE_ARRAY,","highlight_start":1,"highlight_end":25},{"text":" array_sig.as_ptr(),","highlight_start":1,"highlight_end":28},{"text":" &mut array_iter,","highlight_start":1,"highlight_end":25},{"text":" ) == 0","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:363:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (state.dbus_lib.dbus_message_iter_open_container)(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m ________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut reply_iter,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m365\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m DBUS_TYPE_ARRAY,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m366\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m array_sig.as_ptr(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m367\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut array_iter,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m368\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) == 0\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":12481,"byte_end":12523,"line_start":370,"line_end":370,"column_start":9,"column_end":51,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_unref)(reply);","highlight_start":9,"highlight_end":51}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:370:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m370\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_unref)(reply);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":12743,"byte_end":12924,"line_start":378,"line_end":382,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_iter_append_basic)(","highlight_start":9,"highlight_end":57},{"text":" &mut array_iter,","highlight_start":1,"highlight_end":29},{"text":" DBUS_TYPE_STRING,","highlight_start":1,"highlight_end":30},{"text":" &name_ptr as *const *const c_char as *const c_void,","highlight_start":1,"highlight_end":64},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:378:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m378\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_iter_append_basic)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m379\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut array_iter,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m380\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m DBUS_TYPE_STRING,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m381\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &name_ptr as *const *const c_char as *const c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m382\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":12937,"byte_end":13021,"line_start":385,"line_end":385,"column_start":5,"column_end":89,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_iter_close_container)(&mut reply_iter, &mut array_iter);","highlight_start":5,"highlight_end":89}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:385:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m385\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_iter_close_container)(&mut reply_iter, &mut array_iter);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":13027,"byte_end":13105,"line_start":386,"line_end":386,"column_start":5,"column_end":83,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_connection_send)(connection, reply, std::ptr::null_mut());","highlight_start":5,"highlight_end":83}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:386:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m386\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_connection_send)(connection, reply, std::ptr::null_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":13111,"byte_end":13161,"line_start":387,"line_end":387,"column_start":5,"column_end":55,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_connection_flush)(connection);","highlight_start":5,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:387:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m387\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_connection_flush)(connection);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":13167,"byte_end":13209,"line_start":388,"line_end":388,"column_start":5,"column_end":47,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_unref)(reply);","highlight_start":5,"highlight_end":47}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:388:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m388\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_unref)(reply);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":13541,"byte_end":13578,"line_start":402,"line_end":402,"column_start":20,"column_end":57,"is_primary":true,"text":[{"text":" let mut iter = std::mem::zeroed::();","highlight_start":20,"highlight_end":57}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":13296,"byte_end":13435,"line_start":394,"line_end":398,"column_start":1,"column_end":11,"is_primary":true,"text":[{"text":"unsafe fn handle_actions_describe(","highlight_start":1,"highlight_end":35},{"text":" state: &HandlerState,","highlight_start":1,"highlight_end":26},{"text":" connection: *mut DBusConnection,","highlight_start":1,"highlight_end":37},{"text":" message: *mut DBusMessage,","highlight_start":1,"highlight_end":31},{"text":") -> c_int {","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":13436,"byte_end":13436,"line_start":398,"line_end":398,"column_start":12,"column_end":12,"is_primary":true,"text":[{"text":") -> c_int {","highlight_start":12,"highlight_end":12}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":15940,"byte_end":15940,"line_start":468,"line_end":468,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:402:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m402\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut iter = std::mem::zeroed::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:394:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m394\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn handle_actions_describe(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m395\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m state: &HandlerState,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m396\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m connection: *mut DBusConnection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m397\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m message: *mut DBusMessage,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m398\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> c_int {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|__________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":13587,"byte_end":13646,"line_start":403,"line_end":403,"column_start":8,"column_end":67,"is_primary":true,"text":[{"text":" if (state.dbus_lib.dbus_message_iter_init)(message, &mut iter) == 0 {","highlight_start":8,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:403:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m403\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (state.dbus_lib.dbus_message_iter_init)(message, &mut iter) == 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":13669,"byte_end":13739,"line_start":404,"line_end":404,"column_start":16,"column_end":86,"is_primary":true,"text":[{"text":" return send_error_reply(state, connection, message, \"Invalid message format\");","highlight_start":16,"highlight_end":86}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:404:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m404\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return send_error_reply(state, connection, message, \"Invalid message format\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":13767,"byte_end":13825,"line_start":407,"line_end":407,"column_start":20,"column_end":78,"is_primary":true,"text":[{"text":" let arg_type = (state.dbus_lib.dbus_message_iter_get_arg_type)(&mut iter);","highlight_start":20,"highlight_end":78}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:407:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m407\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let arg_type = (state.dbus_lib.dbus_message_iter_get_arg_type)(&mut iter);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":13880,"byte_end":13952,"line_start":409,"line_end":409,"column_start":16,"column_end":88,"is_primary":true,"text":[{"text":" return send_error_reply(state, connection, message, \"Expected string argument\");","highlight_start":16,"highlight_end":88}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:409:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return send_error_reply(state, connection, message, \"Expected string argument\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":14021,"byte_end":14151,"line_start":413,"line_end":416,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_iter_get_basic)(","highlight_start":5,"highlight_end":50},{"text":" &mut iter,","highlight_start":1,"highlight_end":19},{"text":" &mut name_ptr as *mut *const c_char as *mut c_void,","highlight_start":1,"highlight_end":60},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:413:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_iter_get_basic)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut iter,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m415\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut name_ptr as *mut *const c_char as *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m416\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":14197,"byte_end":14264,"line_start":419,"line_end":419,"column_start":16,"column_end":83,"is_primary":true,"text":[{"text":" return send_error_reply(state, connection, message, \"Invalid action name\");","highlight_start":16,"highlight_end":83}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:419:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m419\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return send_error_reply(state, connection, message, \"Invalid action name\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":14295,"byte_end":14319,"line_start":422,"line_end":422,"column_start":23,"column_end":47,"is_primary":true,"text":[{"text":" let action_name = CStr::from_ptr(name_ptr).to_string_lossy();","highlight_start":23,"highlight_end":47}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:422:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m422\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let action_name = CStr::from_ptr(name_ptr).to_string_lossy();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":14533,"byte_end":14703,"line_start":428,"line_end":433,"column_start":20,"column_end":14,"is_primary":true,"text":[{"text":" return send_error_reply(","highlight_start":20,"highlight_end":37},{"text":" state,","highlight_start":1,"highlight_end":23},{"text":" connection,","highlight_start":1,"highlight_end":28},{"text":" message,","highlight_start":1,"highlight_end":25},{"text":" &format!(\"Action not found: {}\", action_name),","highlight_start":1,"highlight_end":63},{"text":" );","highlight_start":1,"highlight_end":14}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:428:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m428\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return send_error_reply(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m ____________________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m429\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m state,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m430\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m connection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m431\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m message,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m432\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &format!(\"Action not found: {}\", action_name),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m433\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":14823,"byte_end":14879,"line_start":438,"line_end":438,"column_start":17,"column_end":73,"is_primary":true,"text":[{"text":" let reply = (state.dbus_lib.dbus_message_new_method_return)(message);","highlight_start":17,"highlight_end":73}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:438:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m438\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let reply = (state.dbus_lib.dbus_message_new_method_return)(message);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":14986,"byte_end":15023,"line_start":443,"line_end":443,"column_start":26,"column_end":63,"is_primary":true,"text":[{"text":" let mut reply_iter = std::mem::zeroed::();","highlight_start":26,"highlight_end":63}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:443:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m443\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut reply_iter = std::mem::zeroed::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":15029,"byte_end":15099,"line_start":444,"line_end":444,"column_start":5,"column_end":75,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_iter_init_append)(reply, &mut reply_iter);","highlight_start":5,"highlight_end":75}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:444:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m444\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_iter_init_append)(reply, &mut reply_iter);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":15147,"byte_end":15184,"line_start":447,"line_end":447,"column_start":27,"column_end":64,"is_primary":true,"text":[{"text":" let mut struct_iter = std::mem::zeroed::();","highlight_start":27,"highlight_end":64}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:447:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m447\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut struct_iter = std::mem::zeroed::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":15193,"byte_end":15411,"line_start":448,"line_end":453,"column_start":8,"column_end":6,"is_primary":true,"text":[{"text":" if (state.dbus_lib.dbus_message_iter_open_container)(","highlight_start":8,"highlight_end":58},{"text":" &mut reply_iter,","highlight_start":1,"highlight_end":25},{"text":" DBUS_TYPE_ARRAY, // Actually DBUS_TYPE_STRUCT but using array for simplicity","highlight_start":1,"highlight_end":85},{"text":" std::ptr::null(),","highlight_start":1,"highlight_end":26},{"text":" &mut struct_iter,","highlight_start":1,"highlight_end":26},{"text":" ) == 0","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:448:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m448\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (state.dbus_lib.dbus_message_iter_open_container)(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m ________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m449\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut reply_iter,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m450\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m DBUS_TYPE_ARRAY, // Actually DBUS_TYPE_STRUCT but using array for simplicity\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m451\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m452\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut struct_iter,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m453\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) == 0\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":15431,"byte_end":15473,"line_start":455,"line_end":455,"column_start":9,"column_end":51,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_unref)(reply);","highlight_start":9,"highlight_end":51}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:455:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m455\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_unref)(reply);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":15631,"byte_end":15716,"line_start":462,"line_end":462,"column_start":5,"column_end":90,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_iter_close_container)(&mut reply_iter, &mut struct_iter);","highlight_start":5,"highlight_end":90}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:462:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m462\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_iter_close_container)(&mut reply_iter, &mut struct_iter);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":15722,"byte_end":15800,"line_start":463,"line_end":463,"column_start":5,"column_end":83,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_connection_send)(connection, reply, std::ptr::null_mut());","highlight_start":5,"highlight_end":83}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:463:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m463\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_connection_send)(connection, reply, std::ptr::null_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":15806,"byte_end":15856,"line_start":464,"line_end":464,"column_start":5,"column_end":55,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_connection_flush)(connection);","highlight_start":5,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:464:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m464\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_connection_flush)(connection);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":15862,"byte_end":15904,"line_start":465,"line_end":465,"column_start":5,"column_end":47,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_unref)(reply);","highlight_start":5,"highlight_end":47}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:465:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m465\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_unref)(reply);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":16208,"byte_end":16264,"line_start":478,"line_end":478,"column_start":17,"column_end":73,"is_primary":true,"text":[{"text":" let reply = (state.dbus_lib.dbus_message_new_method_return)(message);","highlight_start":17,"highlight_end":73}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":15997,"byte_end":16140,"line_start":471,"line_end":475,"column_start":1,"column_end":11,"is_primary":true,"text":[{"text":"unsafe fn handle_actions_describe_all(","highlight_start":1,"highlight_end":39},{"text":" state: &HandlerState,","highlight_start":1,"highlight_end":26},{"text":" connection: *mut DBusConnection,","highlight_start":1,"highlight_end":37},{"text":" message: *mut DBusMessage,","highlight_start":1,"highlight_end":31},{"text":") -> c_int {","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":16141,"byte_end":16141,"line_start":475,"line_end":475,"column_start":12,"column_end":12,"is_primary":true,"text":[{"text":") -> c_int {","highlight_start":12,"highlight_end":12}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":16656,"byte_end":16656,"line_start":491,"line_end":491,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:478:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m478\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let reply = (state.dbus_lib.dbus_message_new_method_return)(message);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:471:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m471\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn handle_actions_describe_all(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m state: &HandlerState,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m connection: *mut DBusConnection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m474\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m message: *mut DBusMessage,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> c_int {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|__________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":16438,"byte_end":16516,"line_start":486,"line_end":486,"column_start":5,"column_end":83,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_connection_send)(connection, reply, std::ptr::null_mut());","highlight_start":5,"highlight_end":83}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:486:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m486\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_connection_send)(connection, reply, std::ptr::null_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":16522,"byte_end":16572,"line_start":487,"line_end":487,"column_start":5,"column_end":55,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_connection_flush)(connection);","highlight_start":5,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:487:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m487\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_connection_flush)(connection);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":16578,"byte_end":16620,"line_start":488,"line_end":488,"column_start":5,"column_end":47,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_unref)(reply);","highlight_start":5,"highlight_end":47}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:488:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m488\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_unref)(reply);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":16940,"byte_end":16977,"line_start":502,"line_end":502,"column_start":20,"column_end":57,"is_primary":true,"text":[{"text":" let mut iter = std::mem::zeroed::();","highlight_start":20,"highlight_end":57}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":16708,"byte_end":16847,"line_start":494,"line_end":498,"column_start":1,"column_end":11,"is_primary":true,"text":[{"text":"unsafe fn handle_actions_activate(","highlight_start":1,"highlight_end":35},{"text":" state: &HandlerState,","highlight_start":1,"highlight_end":26},{"text":" connection: *mut DBusConnection,","highlight_start":1,"highlight_end":37},{"text":" message: *mut DBusMessage,","highlight_start":1,"highlight_end":31},{"text":") -> c_int {","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":16848,"byte_end":16848,"line_start":498,"line_end":498,"column_start":12,"column_end":12,"is_primary":true,"text":[{"text":") -> c_int {","highlight_start":12,"highlight_end":12}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":19076,"byte_end":19076,"line_start":562,"line_end":562,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:502:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m502\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut iter = std::mem::zeroed::();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:494:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m494\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn handle_actions_activate(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m state: &HandlerState,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m496\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m connection: *mut DBusConnection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m497\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m message: *mut DBusMessage,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m498\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> c_int {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|__________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":16986,"byte_end":17045,"line_start":503,"line_end":503,"column_start":8,"column_end":67,"is_primary":true,"text":[{"text":" if (state.dbus_lib.dbus_message_iter_init)(message, &mut iter) == 0 {","highlight_start":8,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:503:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m503\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (state.dbus_lib.dbus_message_iter_init)(message, &mut iter) == 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":17068,"byte_end":17138,"line_start":504,"line_end":504,"column_start":16,"column_end":86,"is_primary":true,"text":[{"text":" return send_error_reply(state, connection, message, \"Invalid message format\");","highlight_start":16,"highlight_end":86}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:504:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m504\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return send_error_reply(state, connection, message, \"Invalid message format\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":17166,"byte_end":17224,"line_start":507,"line_end":507,"column_start":20,"column_end":78,"is_primary":true,"text":[{"text":" let arg_type = (state.dbus_lib.dbus_message_iter_get_arg_type)(&mut iter);","highlight_start":20,"highlight_end":78}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:507:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m507\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let arg_type = (state.dbus_lib.dbus_message_iter_get_arg_type)(&mut iter);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":17279,"byte_end":17351,"line_start":509,"line_end":509,"column_start":16,"column_end":88,"is_primary":true,"text":[{"text":" return send_error_reply(state, connection, message, \"Expected string argument\");","highlight_start":16,"highlight_end":88}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:509:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m509\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return send_error_reply(state, connection, message, \"Expected string argument\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":17420,"byte_end":17550,"line_start":513,"line_end":516,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_iter_get_basic)(","highlight_start":5,"highlight_end":50},{"text":" &mut iter,","highlight_start":1,"highlight_end":19},{"text":" &mut name_ptr as *mut *const c_char as *mut c_void,","highlight_start":1,"highlight_end":60},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:513:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m513\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_iter_get_basic)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m514\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut iter,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m515\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut name_ptr as *mut *const c_char as *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m516\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":17596,"byte_end":17663,"line_start":519,"line_end":519,"column_start":16,"column_end":83,"is_primary":true,"text":[{"text":" return send_error_reply(state, connection, message, \"Invalid action name\");","highlight_start":16,"highlight_end":83}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:519:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m519\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return send_error_reply(state, connection, message, \"Invalid action name\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":17694,"byte_end":17718,"line_start":522,"line_end":522,"column_start":23,"column_end":47,"is_primary":true,"text":[{"text":" let action_name = CStr::from_ptr(name_ptr).to_string_lossy().to_string();","highlight_start":23,"highlight_end":47}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:522:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m522\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let action_name = CStr::from_ptr(name_ptr).to_string_lossy().to_string();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":18049,"byte_end":18241,"line_start":530,"line_end":535,"column_start":24,"column_end":18,"is_primary":true,"text":[{"text":" return send_error_reply(","highlight_start":24,"highlight_end":41},{"text":" state,","highlight_start":1,"highlight_end":27},{"text":" connection,","highlight_start":1,"highlight_end":32},{"text":" message,","highlight_start":1,"highlight_end":29},{"text":" &format!(\"Action is disabled: {}\", action_name),","highlight_start":1,"highlight_end":69},{"text":" );","highlight_start":1,"highlight_end":18}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:530:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m530\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return send_error_reply(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m ________________________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m531\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m state,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m532\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m connection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m533\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m message,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m534\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &format!(\"Action is disabled: {}\", action_name),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m535\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":18302,"byte_end":18492,"line_start":538,"line_end":543,"column_start":24,"column_end":18,"is_primary":true,"text":[{"text":" return send_error_reply(","highlight_start":24,"highlight_end":41},{"text":" state,","highlight_start":1,"highlight_end":27},{"text":" connection,","highlight_start":1,"highlight_end":32},{"text":" message,","highlight_start":1,"highlight_end":29},{"text":" &format!(\"Action not found: {}\", action_name),","highlight_start":1,"highlight_end":67},{"text":" );","highlight_start":1,"highlight_end":18}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::gnome_menu::protocol_impl::send_error_reply` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:538:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m538\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return send_error_reply(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m ________________________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m539\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m state,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m540\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m connection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m541\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m message,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m542\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &format!(\"Action not found: {}\", action_name),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m543\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":18752,"byte_end":18808,"line_start":554,"line_end":554,"column_start":17,"column_end":73,"is_primary":true,"text":[{"text":" let reply = (state.dbus_lib.dbus_message_new_method_return)(message);","highlight_start":17,"highlight_end":73}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:554:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m554\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let reply = (state.dbus_lib.dbus_message_new_method_return)(message);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":18844,"byte_end":18922,"line_start":556,"line_end":556,"column_start":9,"column_end":87,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_connection_send)(connection, reply, std::ptr::null_mut());","highlight_start":9,"highlight_end":87}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:556:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m556\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_connection_send)(connection, reply, std::ptr::null_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":18932,"byte_end":18982,"line_start":557,"line_end":557,"column_start":9,"column_end":59,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_connection_flush)(connection);","highlight_start":9,"highlight_end":59}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:557:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m557\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_connection_flush)(connection);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":18992,"byte_end":19034,"line_start":558,"line_end":558,"column_start":9,"column_end":51,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_unref)(reply);","highlight_start":9,"highlight_end":51}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:558:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m558\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_unref)(reply);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":19470,"byte_end":19560,"line_start":577,"line_end":577,"column_start":9,"column_end":99,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_new_error)(message, error_name.as_ptr(), error_text.as_ptr());","highlight_start":9,"highlight_end":99}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":19109,"byte_end":19262,"line_start":565,"line_end":570,"column_start":1,"column_end":11,"is_primary":true,"text":[{"text":"unsafe fn send_error_reply(","highlight_start":1,"highlight_end":28},{"text":" state: &HandlerState,","highlight_start":1,"highlight_end":26},{"text":" connection: *mut DBusConnection,","highlight_start":1,"highlight_end":37},{"text":" message: *mut DBusMessage,","highlight_start":1,"highlight_end":31},{"text":" error_msg: &str,","highlight_start":1,"highlight_end":21},{"text":") -> c_int {","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":19263,"byte_end":19263,"line_start":570,"line_end":570,"column_start":12,"column_end":12,"is_primary":true,"text":[{"text":") -> c_int {","highlight_start":12,"highlight_end":12}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":19829,"byte_end":19829,"line_start":586,"line_end":586,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:577:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m577\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_new_error)(message, error_name.as_ptr(), error_text.as_ptr());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:565:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m565\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn send_error_reply(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m566\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m state: &HandlerState,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m567\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m connection: *mut DBusConnection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m568\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m message: *mut DBusMessage,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m569\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m error_msg: &str,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m570\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> c_int {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|__________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":19597,"byte_end":19675,"line_start":580,"line_end":580,"column_start":9,"column_end":87,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_connection_send)(connection, reply, std::ptr::null_mut());","highlight_start":9,"highlight_end":87}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:580:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m580\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_connection_send)(connection, reply, std::ptr::null_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":19685,"byte_end":19735,"line_start":581,"line_end":581,"column_start":9,"column_end":59,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_connection_flush)(connection);","highlight_start":9,"highlight_end":59}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:581:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m581\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_connection_flush)(connection);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs","byte_start":19745,"byte_end":19787,"line_start":582,"line_end":582,"column_start":9,"column_end":51,"is_primary":true,"text":[{"text":" (state.dbus_lib.dbus_message_unref)(reply);","highlight_start":9,"highlight_end":51}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/gnome_menu/protocol_impl.rs:582:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m582\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (state.dbus_lib.dbus_message_unref)(reply);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":38954,"byte_end":38996,"line_start":759,"line_end":759,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":38693,"byte_end":38788,"line_start":752,"line_end":752,"column_start":1,"column_end":96,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_display_get_registry_impl(display: *mut wl_display) -> *mut wl_registry {","highlight_start":1,"highlight_end":96}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":38789,"byte_end":38789,"line_start":752,"line_end":752,"column_start":97,"column_end":97,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_display_get_registry_impl(display: *mut wl_display) -> *mut wl_registry {","highlight_start":97,"highlight_end":97}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":39130,"byte_end":39130,"line_start":766,"line_end":766,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:759:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m759\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:752:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m752\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_display_get_registry_impl(display: *mut wl_display) -> *mut wl_registry {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":39002,"byte_end":39108,"line_start":760,"line_end":765,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" f(","highlight_start":5,"highlight_end":7},{"text":" display as *mut wl_proxy,","highlight_start":1,"highlight_end":34},{"text":" 1,","highlight_start":1,"highlight_end":11},{"text":" c.wl_registry,","highlight_start":1,"highlight_end":23},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":30},{"text":" ) as *mut wl_registry","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:760:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m760\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m761\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m display as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m762\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m763\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m c.wl_registry,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m764\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m765\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut wl_registry\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":40117,"byte_end":40153,"line_start":791,"line_end":791,"column_start":30,"column_end":66,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_flags);","highlight_start":30,"highlight_end":66}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":39229,"byte_end":39390,"line_start":768,"line_end":773,"column_start":1,"column_end":17,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_registry_bind_impl(","highlight_start":1,"highlight_end":44},{"text":" registry: *mut wl_registry,","highlight_start":1,"highlight_end":32},{"text":" name: u32,","highlight_start":1,"highlight_end":15},{"text":" interface: *const wl_interface,","highlight_start":1,"highlight_end":36},{"text":" version: u32,","highlight_start":1,"highlight_end":18},{"text":") -> *mut c_void {","highlight_start":1,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":39391,"byte_end":39391,"line_start":773,"line_end":773,"column_start":18,"column_end":18,"is_primary":true,"text":[{"text":") -> *mut c_void {","highlight_start":18,"highlight_end":18}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":40881,"byte_end":40881,"line_start":824,"line_end":824,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:791:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m791\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_flags);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:768:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m768\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_registry_bind_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m769\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m registry: *mut wl_registry,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m770\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m name: u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m771\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m interface: *const wl_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m772\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m version: u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m773\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> *mut c_void {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":40170,"byte_end":40399,"line_start":792,"line_end":802,"column_start":16,"column_end":10,"is_primary":true,"text":[{"text":" return f(","highlight_start":16,"highlight_end":18},{"text":" registry as *mut wl_proxy,","highlight_start":1,"highlight_end":39},{"text":" 0,","highlight_start":1,"highlight_end":15},{"text":" interface,","highlight_start":1,"highlight_end":23},{"text":" version,","highlight_start":1,"highlight_end":21},{"text":" 0,","highlight_start":1,"highlight_end":15},{"text":" name,","highlight_start":1,"highlight_end":18},{"text":" (*interface).name,","highlight_start":1,"highlight_end":31},{"text":" version,","highlight_start":1,"highlight_end":21},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":34},{"text":" ) as *mut c_void;","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:792:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m792\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return f(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m ________________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m793\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m registry as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m794\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 0,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m795\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m801\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m802\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut c_void;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":40316,"byte_end":40328,"line_start":799,"line_end":799,"column_start":13,"column_end":25,"is_primary":true,"text":[{"text":" (*interface).name,","highlight_start":13,"highlight_end":25}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:799:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m799\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (*interface).name,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":40628,"byte_end":40680,"line_start":813,"line_end":813,"column_start":26,"column_end":78,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor_versioned);","highlight_start":26,"highlight_end":78}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:813:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m813\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor_versioned);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":40686,"byte_end":40864,"line_start":814,"line_end":823,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" f(","highlight_start":5,"highlight_end":7},{"text":" registry as *mut wl_proxy,","highlight_start":1,"highlight_end":35},{"text":" 0,","highlight_start":1,"highlight_end":11},{"text":" interface,","highlight_start":1,"highlight_end":19},{"text":" version,","highlight_start":1,"highlight_end":17},{"text":" name,","highlight_start":1,"highlight_end":14},{"text":" (*interface).name,","highlight_start":1,"highlight_end":27},{"text":" version,","highlight_start":1,"highlight_end":17},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":30},{"text":" ) as *mut c_void","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:814:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m814\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m815\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m registry as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m816\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 0,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m817\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m822\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m823\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut c_void\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":40793,"byte_end":40805,"line_start":820,"line_end":820,"column_start":9,"column_end":21,"is_primary":true,"text":[{"text":" (*interface).name,","highlight_start":9,"highlight_end":21}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:820:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m820\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (*interface).name,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":41160,"byte_end":41202,"line_start":834,"line_end":834,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":40882,"byte_end":40994,"line_start":825,"line_end":827,"column_start":1,"column_end":21,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_compositor_create_surface_impl(","highlight_start":1,"highlight_end":56},{"text":" compositor: *mut wl_compositor,","highlight_start":1,"highlight_end":36},{"text":") -> *mut wl_surface {","highlight_start":1,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":40995,"byte_end":40995,"line_start":827,"line_end":827,"column_start":22,"column_end":22,"is_primary":true,"text":[{"text":") -> *mut wl_surface {","highlight_start":22,"highlight_end":22}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":41337,"byte_end":41337,"line_start":841,"line_end":841,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:834:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m834\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:825:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m825\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_compositor_create_surface_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m826\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m compositor: *mut wl_compositor,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m827\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> *mut wl_surface {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|____________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":41208,"byte_end":41316,"line_start":835,"line_end":840,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" f(","highlight_start":5,"highlight_end":7},{"text":" compositor as *mut wl_proxy,","highlight_start":1,"highlight_end":37},{"text":" 0,","highlight_start":1,"highlight_end":11},{"text":" c.wl_surface,","highlight_start":1,"highlight_end":22},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":30},{"text":" ) as *mut wl_surface","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:835:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m835\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m836\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m compositor as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m837\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 0,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m838\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m c.wl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m839\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m840\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut wl_surface\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":41588,"byte_end":41630,"line_start":849,"line_end":849,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":41338,"byte_end":41422,"line_start":842,"line_end":842,"column_start":1,"column_end":85,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_seat_get_pointer_impl(seat: *mut wl_seat) -> *mut wl_pointer {","highlight_start":1,"highlight_end":85}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":41423,"byte_end":41423,"line_start":842,"line_end":842,"column_start":86,"column_end":86,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_seat_get_pointer_impl(seat: *mut wl_seat) -> *mut wl_pointer {","highlight_start":86,"highlight_end":86}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":41720,"byte_end":41720,"line_start":851,"line_end":851,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:849:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m849\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:842:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m842\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_seat_get_pointer_impl(seat: *mut wl_seat) -> *mut wl_pointer {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":41636,"byte_end":41699,"line_start":850,"line_end":850,"column_start":5,"column_end":68,"is_primary":true,"text":[{"text":" f(seat as *mut wl_proxy, 0, c.wl_pointer, std::ptr::null_mut()) as *mut wl_pointer","highlight_start":5,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:850:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m850\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(seat as *mut wl_proxy, 0, c.wl_pointer, std::ptr::null_mut()) as *mut wl_pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":41918,"byte_end":41948,"line_start":855,"line_end":855,"column_start":55,"column_end":85,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(c.marshal);","highlight_start":55,"highlight_end":85}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":41773,"byte_end":41842,"line_start":853,"line_end":853,"column_start":1,"column_end":70,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_commit_impl(surface: *mut wl_surface) {","highlight_start":1,"highlight_end":70}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":41843,"byte_end":41843,"line_start":853,"line_end":853,"column_start":71,"column_end":71,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_commit_impl(surface: *mut wl_surface) {","highlight_start":71,"highlight_end":71}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":41987,"byte_end":41987,"line_start":857,"line_end":857,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:855:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m855\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(c.marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:853:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m853\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_surface_commit_impl(surface: *mut wl_surface) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":41954,"byte_end":41984,"line_start":856,"line_end":856,"column_start":5,"column_end":35,"is_primary":true,"text":[{"text":" f(surface as *mut wl_proxy, 6);","highlight_start":5,"highlight_end":35}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:856:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m856\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(surface as *mut wl_proxy, 6);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":42357,"byte_end":42399,"line_start":868,"line_end":868,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":42094,"byte_end":42191,"line_start":861,"line_end":861,"column_start":1,"column_end":98,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_compositor_create_region_impl(comp: *mut wl_compositor) -> *mut wl_region {","highlight_start":1,"highlight_end":98}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":42192,"byte_end":42192,"line_start":861,"line_end":861,"column_start":99,"column_end":99,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_compositor_create_region_impl(comp: *mut wl_compositor) -> *mut wl_region {","highlight_start":99,"highlight_end":99}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":42487,"byte_end":42487,"line_start":870,"line_end":870,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:868:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m868\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:861:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m861\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_compositor_create_region_impl(comp: *mut wl_compositor) -> *mut wl_region {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":42405,"byte_end":42467,"line_start":869,"line_end":869,"column_start":5,"column_end":67,"is_primary":true,"text":[{"text":" f(comp as *mut wl_proxy, 1, c.wl_region, std::ptr::null_mut()) as *mut wl_region","highlight_start":5,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:869:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m869\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(comp as *mut wl_proxy, 1, c.wl_region, std::ptr::null_mut()) as *mut wl_region\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":42876,"byte_end":42918,"line_start":884,"line_end":884,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":42488,"byte_end":42660,"line_start":871,"line_end":875,"column_start":1,"column_end":24,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_subcompositor_get_subsurface_impl(","highlight_start":1,"highlight_end":59},{"text":" sc: *mut wl_subcompositor,","highlight_start":1,"highlight_end":31},{"text":" surface: *mut wl_surface,","highlight_start":1,"highlight_end":30},{"text":" parent: *mut wl_surface,","highlight_start":1,"highlight_end":29},{"text":") -> *mut wl_subsurface {","highlight_start":1,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":42661,"byte_end":42661,"line_start":875,"line_end":875,"column_start":25,"column_end":25,"is_primary":true,"text":[{"text":") -> *mut wl_subsurface {","highlight_start":25,"highlight_end":25}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":43084,"byte_end":43084,"line_start":893,"line_end":893,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:884:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m884\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:871:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m871\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_subcompositor_get_subsurface_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m872\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m sc: *mut wl_subcompositor,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m873\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m surface: *mut wl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m874\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m parent: *mut wl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m875\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> *mut wl_subsurface {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_______________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":42924,"byte_end":43060,"line_start":885,"line_end":892,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" f(","highlight_start":5,"highlight_end":7},{"text":" sc as *mut wl_proxy,","highlight_start":1,"highlight_end":29},{"text":" 1,","highlight_start":1,"highlight_end":11},{"text":" c.wl_subsurface,","highlight_start":1,"highlight_end":25},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":30},{"text":" surface,","highlight_start":1,"highlight_end":17},{"text":" parent,","highlight_start":1,"highlight_end":16},{"text":" ) as *mut wl_subsurface","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:885:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m885\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m886\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m sc as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m887\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m888\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m c.wl_subsurface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m891\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m parent,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m892\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut wl_subsurface\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":43333,"byte_end":43375,"line_start":901,"line_end":901,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":43085,"byte_end":43167,"line_start":894,"line_end":894,"column_start":1,"column_end":83,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_frame_impl(s: *mut wl_surface) -> *mut wl_callback {","highlight_start":1,"highlight_end":83}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":43168,"byte_end":43168,"line_start":894,"line_end":894,"column_start":84,"column_end":84,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_frame_impl(s: *mut wl_surface) -> *mut wl_callback {","highlight_start":84,"highlight_end":84}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":43464,"byte_end":43464,"line_start":903,"line_end":903,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:901:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m901\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:894:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m894\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_surface_frame_impl(s: *mut wl_surface) -> *mut wl_callback {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":43381,"byte_end":43442,"line_start":902,"line_end":902,"column_start":5,"column_end":66,"is_primary":true,"text":[{"text":" f(s as *mut wl_proxy, 3, c.wl_callback, std::ptr::null_mut()) as *mut wl_callback","highlight_start":5,"highlight_end":66}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:902:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m902\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(s as *mut wl_proxy, 3, c.wl_callback, std::ptr::null_mut()) as *mut wl_callback\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":43788,"byte_end":43830,"line_start":915,"line_end":915,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":43465,"byte_end":43597,"line_start":904,"line_end":907,"column_start":1,"column_end":22,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_wm_base_get_xdg_surface_impl(","highlight_start":1,"highlight_end":55},{"text":" wm: *mut xdg_wm_base,","highlight_start":1,"highlight_end":26},{"text":" surface: *mut wl_surface,","highlight_start":1,"highlight_end":30},{"text":") -> *mut xdg_surface {","highlight_start":1,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":43598,"byte_end":43598,"line_start":907,"line_end":907,"column_start":23,"column_end":23,"is_primary":true,"text":[{"text":") -> *mut xdg_surface {","highlight_start":23,"highlight_end":23}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":43976,"byte_end":43976,"line_start":923,"line_end":923,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:915:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m915\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:904:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m904\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_wm_base_get_xdg_surface_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m905\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m wm: *mut xdg_wm_base,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m906\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m surface: *mut wl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m907\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> *mut xdg_surface {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_____________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":43836,"byte_end":43954,"line_start":916,"line_end":922,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" f(","highlight_start":5,"highlight_end":7},{"text":" wm as *mut wl_proxy,","highlight_start":1,"highlight_end":29},{"text":" 2,","highlight_start":1,"highlight_end":11},{"text":" c.xdg_surface,","highlight_start":1,"highlight_end":23},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":30},{"text":" surface,","highlight_start":1,"highlight_end":17},{"text":" ) as *mut xdg_surface","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:916:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m916\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m917\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m wm as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m918\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 2,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m919\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m c.xdg_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m920\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m921\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m922\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut xdg_surface\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":44250,"byte_end":44292,"line_start":933,"line_end":933,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":43977,"byte_end":44084,"line_start":924,"line_end":926,"column_start":1,"column_end":25,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_wm_base_create_positioner_impl(","highlight_start":1,"highlight_end":57},{"text":" wm: *mut xdg_wm_base,","highlight_start":1,"highlight_end":26},{"text":") -> *mut xdg_positioner {","highlight_start":1,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":44085,"byte_end":44085,"line_start":926,"line_end":926,"column_start":26,"column_end":26,"is_primary":true,"text":[{"text":") -> *mut xdg_positioner {","highlight_start":26,"highlight_end":26}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":44427,"byte_end":44427,"line_start":940,"line_end":940,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:933:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m933\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:924:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m924\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_wm_base_create_positioner_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m925\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m wm: *mut xdg_wm_base,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m926\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> *mut xdg_positioner {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|________________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":44298,"byte_end":44402,"line_start":934,"line_end":939,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" f(","highlight_start":5,"highlight_end":7},{"text":" wm as *mut wl_proxy,","highlight_start":1,"highlight_end":29},{"text":" 1,","highlight_start":1,"highlight_end":11},{"text":" c.xdg_positioner,","highlight_start":1,"highlight_end":26},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":30},{"text":" ) as *mut xdg_positioner","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:934:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m934\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m935\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m wm as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m936\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m937\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m c.xdg_positioner,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m938\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m939\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut xdg_positioner\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":44687,"byte_end":44729,"line_start":948,"line_end":948,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":44428,"byte_end":44521,"line_start":941,"line_end":941,"column_start":1,"column_end":94,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_surface_get_toplevel_impl(xs: *mut xdg_surface) -> *mut xdg_toplevel {","highlight_start":1,"highlight_end":94}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":44522,"byte_end":44522,"line_start":941,"line_end":941,"column_start":95,"column_end":95,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_surface_get_toplevel_impl(xs: *mut xdg_surface) -> *mut xdg_toplevel {","highlight_start":95,"highlight_end":95}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":44821,"byte_end":44821,"line_start":950,"line_end":950,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:948:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m948\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:941:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m941\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_surface_get_toplevel_impl(xs: *mut xdg_surface) -> *mut xdg_toplevel {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":44735,"byte_end":44798,"line_start":949,"line_end":949,"column_start":5,"column_end":68,"is_primary":true,"text":[{"text":" f(xs as *mut wl_proxy, 1, c.xdg_toplevel, std::ptr::null_mut()) as *mut xdg_toplevel","highlight_start":5,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:949:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m949\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(xs as *mut wl_proxy, 1, c.xdg_toplevel, std::ptr::null_mut()) as *mut xdg_toplevel\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":45204,"byte_end":45246,"line_start":964,"line_end":964,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":44822,"byte_end":44983,"line_start":951,"line_end":955,"column_start":1,"column_end":20,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_surface_get_popup_impl(","highlight_start":1,"highlight_end":49},{"text":" xs: *mut xdg_surface,","highlight_start":1,"highlight_end":26},{"text":" parent: *mut xdg_surface,","highlight_start":1,"highlight_end":30},{"text":" positioner: *mut xdg_positioner,","highlight_start":1,"highlight_end":37},{"text":") -> *mut xdg_popup {","highlight_start":1,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":44984,"byte_end":44984,"line_start":955,"line_end":955,"column_start":21,"column_end":21,"is_primary":true,"text":[{"text":") -> *mut xdg_popup {","highlight_start":21,"highlight_end":21}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":45407,"byte_end":45407,"line_start":973,"line_end":973,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:964:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m964\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:951:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m951\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_surface_get_popup_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m952\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m xs: *mut xdg_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m953\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m parent: *mut xdg_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m954\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m positioner: *mut xdg_positioner,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m955\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> *mut xdg_popup {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|___________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":45252,"byte_end":45387,"line_start":965,"line_end":972,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" f(","highlight_start":5,"highlight_end":7},{"text":" xs as *mut wl_proxy,","highlight_start":1,"highlight_end":29},{"text":" 2,","highlight_start":1,"highlight_end":11},{"text":" c.xdg_popup,","highlight_start":1,"highlight_end":21},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":30},{"text":" parent,","highlight_start":1,"highlight_end":16},{"text":" positioner,","highlight_start":1,"highlight_end":20},{"text":" ) as *mut xdg_popup","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:965:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m965\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m966\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m xs as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m967\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 2,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m968\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m c.xdg_popup,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m971\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m positioner,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m972\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut xdg_popup\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":45660,"byte_end":45702,"line_start":981,"line_end":981,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":45408,"byte_end":45494,"line_start":974,"line_end":974,"column_start":1,"column_end":87,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_seat_get_keyboard_impl(seat: *mut wl_seat) -> *mut wl_keyboard {","highlight_start":1,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":45495,"byte_end":45495,"line_start":974,"line_end":974,"column_start":88,"column_end":88,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_seat_get_keyboard_impl(seat: *mut wl_seat) -> *mut wl_keyboard {","highlight_start":88,"highlight_end":88}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":45833,"byte_end":45833,"line_start":988,"line_end":988,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:981:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m981\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:974:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m974\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_seat_get_keyboard_impl(seat: *mut wl_seat) -> *mut wl_keyboard {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":45708,"byte_end":45811,"line_start":982,"line_end":987,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" f(","highlight_start":5,"highlight_end":7},{"text":" seat as *mut wl_proxy,","highlight_start":1,"highlight_end":31},{"text":" 1,","highlight_start":1,"highlight_end":11},{"text":" c.wl_keyboard,","highlight_start":1,"highlight_end":23},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":30},{"text":" ) as *mut wl_keyboard","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:982:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m982\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m983\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m984\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m985\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m c.wl_keyboard,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m986\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m987\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut wl_keyboard\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46080,"byte_end":46122,"line_start":996,"line_end":996,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":45834,"byte_end":45914,"line_start":989,"line_end":989,"column_start":1,"column_end":81,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_seat_get_touch_impl(seat: *mut wl_seat) -> *mut wl_touch {","highlight_start":1,"highlight_end":81}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":45915,"byte_end":45915,"line_start":989,"line_end":989,"column_start":82,"column_end":82,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_seat_get_touch_impl(seat: *mut wl_seat) -> *mut wl_touch {","highlight_start":82,"highlight_end":82}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46208,"byte_end":46208,"line_start":998,"line_end":998,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:996:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m996\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:989:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m989\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_seat_get_touch_impl(seat: *mut wl_seat) -> *mut wl_touch {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46128,"byte_end":46189,"line_start":997,"line_end":997,"column_start":5,"column_end":66,"is_primary":true,"text":[{"text":" f(seat as *mut wl_proxy, 2, c.wl_touch, std::ptr::null_mut()) as *mut wl_touch","highlight_start":5,"highlight_end":66}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:997:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m997\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(seat as *mut wl_proxy, 2, c.wl_touch, std::ptr::null_mut()) as *mut wl_touch\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46939,"byte_end":46981,"line_start":1015,"line_end":1015,"column_start":34,"column_end":76,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":34,"highlight_end":76}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47198,"byte_end":47390,"line_start":1027,"line_end":1032,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"pointer_gesture_ctor!(","highlight_start":1,"highlight_end":23},{"text":" zwp_pointer_gestures_v1_get_swipe_impl,","highlight_start":1,"highlight_end":44},{"text":" ZWP_POINTER_GESTURES_V1_GET_SWIPE_GESTURE,","highlight_start":1,"highlight_end":47},{"text":" get_pointer_gesture_swipe_v1_interface,","highlight_start":1,"highlight_end":44},{"text":" zwp_pointer_gesture_swipe_v1","highlight_start":1,"highlight_end":33},{"text":");","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"pointer_gesture_ctor!","def_site_span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46445,"byte_end":46478,"line_start":1002,"line_end":1002,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! pointer_gesture_ctor {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46544,"byte_end":46684,"line_start":1004,"line_end":1007,"column_start":9,"column_end":23,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn $name(","highlight_start":9,"highlight_end":36},{"text":" gestures: *mut zwp_pointer_gestures_v1,","highlight_start":1,"highlight_end":52},{"text":" pointer: *mut wl_pointer,","highlight_start":1,"highlight_end":38},{"text":" ) -> *mut $ret {","highlight_start":1,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47198,"byte_end":47390,"line_start":1027,"line_end":1032,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"pointer_gesture_ctor!(","highlight_start":1,"highlight_end":23},{"text":" zwp_pointer_gestures_v1_get_swipe_impl,","highlight_start":1,"highlight_end":44},{"text":" ZWP_POINTER_GESTURES_V1_GET_SWIPE_GESTURE,","highlight_start":1,"highlight_end":47},{"text":" get_pointer_gesture_swipe_v1_interface,","highlight_start":1,"highlight_end":44},{"text":" zwp_pointer_gesture_swipe_v1","highlight_start":1,"highlight_end":33},{"text":");","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"pointer_gesture_ctor!","def_site_span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46445,"byte_end":46478,"line_start":1002,"line_end":1002,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! pointer_gesture_ctor {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46685,"byte_end":46685,"line_start":1007,"line_end":1007,"column_start":24,"column_end":24,"is_primary":true,"text":[{"text":" ) -> *mut $ret {","highlight_start":24,"highlight_end":24}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":{"span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47198,"byte_end":47390,"line_start":1027,"line_end":1032,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"pointer_gesture_ctor!(","highlight_start":1,"highlight_end":23},{"text":" zwp_pointer_gestures_v1_get_swipe_impl,","highlight_start":1,"highlight_end":44},{"text":" ZWP_POINTER_GESTURES_V1_GET_SWIPE_GESTURE,","highlight_start":1,"highlight_end":47},{"text":" get_pointer_gesture_swipe_v1_interface,","highlight_start":1,"highlight_end":44},{"text":" zwp_pointer_gesture_swipe_v1","highlight_start":1,"highlight_end":33},{"text":");","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"pointer_gesture_ctor!","def_site_span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46445,"byte_end":46478,"line_start":1002,"line_end":1002,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! pointer_gesture_ctor {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47187,"byte_end":47187,"line_start":1023,"line_end":1023,"column_start":10,"column_end":10,"is_primary":true,"text":[{"text":" }","highlight_start":10,"highlight_end":10}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":{"span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47198,"byte_end":47390,"line_start":1027,"line_end":1032,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"pointer_gesture_ctor!(","highlight_start":1,"highlight_end":23},{"text":" zwp_pointer_gestures_v1_get_swipe_impl,","highlight_start":1,"highlight_end":44},{"text":" ZWP_POINTER_GESTURES_V1_GET_SWIPE_GESTURE,","highlight_start":1,"highlight_end":47},{"text":" get_pointer_gesture_swipe_v1_interface,","highlight_start":1,"highlight_end":44},{"text":" zwp_pointer_gesture_swipe_v1","highlight_start":1,"highlight_end":33},{"text":");","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"pointer_gesture_ctor!","def_site_span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46445,"byte_end":46478,"line_start":1002,"line_end":1002,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! pointer_gesture_ctor {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1015:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1015\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1027\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpointer_gesture_ctor!(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1028\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gestures_v1_get_swipe_impl,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1029\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ZWP_POINTER_GESTURES_V1_GET_SWIPE_GESTURE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1030\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_pointer_gesture_swipe_v1_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1031\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gesture_swipe_v1\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1032\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1004:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1004\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe extern \"C\" fn $name(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1005\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m gestures: *mut zwp_pointer_gestures_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1006\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pointer: *mut wl_pointer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1007\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut $ret {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|______________________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1027\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpointer_gesture_ctor!(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1028\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gestures_v1_get_swipe_impl,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1029\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ZWP_POINTER_GESTURES_V1_GET_SWIPE_GESTURE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1030\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_pointer_gesture_swipe_v1_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1031\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gesture_swipe_v1\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1032\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `pointer_gesture_ctor` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46995,"byte_end":47164,"line_start":1016,"line_end":1022,"column_start":13,"column_end":14,"is_primary":true,"text":[{"text":" f(","highlight_start":13,"highlight_end":15},{"text":" gestures as *mut wl_proxy,","highlight_start":1,"highlight_end":43},{"text":" $op,","highlight_start":1,"highlight_end":21},{"text":" $iface(),","highlight_start":1,"highlight_end":26},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":38},{"text":" pointer,","highlight_start":1,"highlight_end":25},{"text":" ) as *mut $ret","highlight_start":1,"highlight_end":14}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47198,"byte_end":47390,"line_start":1027,"line_end":1032,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"pointer_gesture_ctor!(","highlight_start":1,"highlight_end":23},{"text":" zwp_pointer_gestures_v1_get_swipe_impl,","highlight_start":1,"highlight_end":44},{"text":" ZWP_POINTER_GESTURES_V1_GET_SWIPE_GESTURE,","highlight_start":1,"highlight_end":47},{"text":" get_pointer_gesture_swipe_v1_interface,","highlight_start":1,"highlight_end":44},{"text":" zwp_pointer_gesture_swipe_v1","highlight_start":1,"highlight_end":33},{"text":");","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"pointer_gesture_ctor!","def_site_span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46445,"byte_end":46478,"line_start":1002,"line_end":1002,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! pointer_gesture_ctor {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1016:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1016\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1017\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m gestures as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1018\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m $op,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1019\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m $iface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1020\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1021\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pointer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1022\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut $ret\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1027\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpointer_gesture_ctor!(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1028\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gestures_v1_get_swipe_impl,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1029\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ZWP_POINTER_GESTURES_V1_GET_SWIPE_GESTURE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1030\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_pointer_gesture_swipe_v1_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1031\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gesture_swipe_v1\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1032\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `pointer_gesture_ctor` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46939,"byte_end":46981,"line_start":1015,"line_end":1015,"column_start":34,"column_end":76,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":34,"highlight_end":76}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47392,"byte_end":47584,"line_start":1033,"line_end":1038,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"pointer_gesture_ctor!(","highlight_start":1,"highlight_end":23},{"text":" zwp_pointer_gestures_v1_get_pinch_impl,","highlight_start":1,"highlight_end":44},{"text":" ZWP_POINTER_GESTURES_V1_GET_PINCH_GESTURE,","highlight_start":1,"highlight_end":47},{"text":" get_pointer_gesture_pinch_v1_interface,","highlight_start":1,"highlight_end":44},{"text":" zwp_pointer_gesture_pinch_v1","highlight_start":1,"highlight_end":33},{"text":");","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"pointer_gesture_ctor!","def_site_span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46445,"byte_end":46478,"line_start":1002,"line_end":1002,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! pointer_gesture_ctor {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46544,"byte_end":46684,"line_start":1004,"line_end":1007,"column_start":9,"column_end":23,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn $name(","highlight_start":9,"highlight_end":36},{"text":" gestures: *mut zwp_pointer_gestures_v1,","highlight_start":1,"highlight_end":52},{"text":" pointer: *mut wl_pointer,","highlight_start":1,"highlight_end":38},{"text":" ) -> *mut $ret {","highlight_start":1,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47392,"byte_end":47584,"line_start":1033,"line_end":1038,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"pointer_gesture_ctor!(","highlight_start":1,"highlight_end":23},{"text":" zwp_pointer_gestures_v1_get_pinch_impl,","highlight_start":1,"highlight_end":44},{"text":" ZWP_POINTER_GESTURES_V1_GET_PINCH_GESTURE,","highlight_start":1,"highlight_end":47},{"text":" get_pointer_gesture_pinch_v1_interface,","highlight_start":1,"highlight_end":44},{"text":" zwp_pointer_gesture_pinch_v1","highlight_start":1,"highlight_end":33},{"text":");","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"pointer_gesture_ctor!","def_site_span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46445,"byte_end":46478,"line_start":1002,"line_end":1002,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! pointer_gesture_ctor {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46685,"byte_end":46685,"line_start":1007,"line_end":1007,"column_start":24,"column_end":24,"is_primary":true,"text":[{"text":" ) -> *mut $ret {","highlight_start":24,"highlight_end":24}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":{"span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47392,"byte_end":47584,"line_start":1033,"line_end":1038,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"pointer_gesture_ctor!(","highlight_start":1,"highlight_end":23},{"text":" zwp_pointer_gestures_v1_get_pinch_impl,","highlight_start":1,"highlight_end":44},{"text":" ZWP_POINTER_GESTURES_V1_GET_PINCH_GESTURE,","highlight_start":1,"highlight_end":47},{"text":" get_pointer_gesture_pinch_v1_interface,","highlight_start":1,"highlight_end":44},{"text":" zwp_pointer_gesture_pinch_v1","highlight_start":1,"highlight_end":33},{"text":");","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"pointer_gesture_ctor!","def_site_span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46445,"byte_end":46478,"line_start":1002,"line_end":1002,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! pointer_gesture_ctor {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47187,"byte_end":47187,"line_start":1023,"line_end":1023,"column_start":10,"column_end":10,"is_primary":true,"text":[{"text":" }","highlight_start":10,"highlight_end":10}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":{"span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47392,"byte_end":47584,"line_start":1033,"line_end":1038,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"pointer_gesture_ctor!(","highlight_start":1,"highlight_end":23},{"text":" zwp_pointer_gestures_v1_get_pinch_impl,","highlight_start":1,"highlight_end":44},{"text":" ZWP_POINTER_GESTURES_V1_GET_PINCH_GESTURE,","highlight_start":1,"highlight_end":47},{"text":" get_pointer_gesture_pinch_v1_interface,","highlight_start":1,"highlight_end":44},{"text":" zwp_pointer_gesture_pinch_v1","highlight_start":1,"highlight_end":33},{"text":");","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"pointer_gesture_ctor!","def_site_span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46445,"byte_end":46478,"line_start":1002,"line_end":1002,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! pointer_gesture_ctor {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1015:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1015\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1033\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpointer_gesture_ctor!(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1034\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gestures_v1_get_pinch_impl,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1035\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ZWP_POINTER_GESTURES_V1_GET_PINCH_GESTURE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1036\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_pointer_gesture_pinch_v1_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1037\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gesture_pinch_v1\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1038\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1004:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1004\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe extern \"C\" fn $name(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1005\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m gestures: *mut zwp_pointer_gestures_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1006\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pointer: *mut wl_pointer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1007\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut $ret {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|______________________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1033\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpointer_gesture_ctor!(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1034\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gestures_v1_get_pinch_impl,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1035\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ZWP_POINTER_GESTURES_V1_GET_PINCH_GESTURE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1036\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_pointer_gesture_pinch_v1_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1037\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gesture_pinch_v1\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1038\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `pointer_gesture_ctor` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46995,"byte_end":47164,"line_start":1016,"line_end":1022,"column_start":13,"column_end":14,"is_primary":true,"text":[{"text":" f(","highlight_start":13,"highlight_end":15},{"text":" gestures as *mut wl_proxy,","highlight_start":1,"highlight_end":43},{"text":" $op,","highlight_start":1,"highlight_end":21},{"text":" $iface(),","highlight_start":1,"highlight_end":26},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":38},{"text":" pointer,","highlight_start":1,"highlight_end":25},{"text":" ) as *mut $ret","highlight_start":1,"highlight_end":14}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47392,"byte_end":47584,"line_start":1033,"line_end":1038,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"pointer_gesture_ctor!(","highlight_start":1,"highlight_end":23},{"text":" zwp_pointer_gestures_v1_get_pinch_impl,","highlight_start":1,"highlight_end":44},{"text":" ZWP_POINTER_GESTURES_V1_GET_PINCH_GESTURE,","highlight_start":1,"highlight_end":47},{"text":" get_pointer_gesture_pinch_v1_interface,","highlight_start":1,"highlight_end":44},{"text":" zwp_pointer_gesture_pinch_v1","highlight_start":1,"highlight_end":33},{"text":");","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"pointer_gesture_ctor!","def_site_span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46445,"byte_end":46478,"line_start":1002,"line_end":1002,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! pointer_gesture_ctor {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1016:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1016\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1017\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m gestures as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1018\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m $op,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1019\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m $iface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1020\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1021\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pointer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1022\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut $ret\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1033\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpointer_gesture_ctor!(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1034\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gestures_v1_get_pinch_impl,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1035\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ZWP_POINTER_GESTURES_V1_GET_PINCH_GESTURE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1036\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_pointer_gesture_pinch_v1_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1037\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gesture_pinch_v1\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1038\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `pointer_gesture_ctor` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46939,"byte_end":46981,"line_start":1015,"line_end":1015,"column_start":34,"column_end":76,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":34,"highlight_end":76}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47586,"byte_end":47774,"line_start":1039,"line_end":1044,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"pointer_gesture_ctor!(","highlight_start":1,"highlight_end":23},{"text":" zwp_pointer_gestures_v1_get_hold_impl,","highlight_start":1,"highlight_end":43},{"text":" ZWP_POINTER_GESTURES_V1_GET_HOLD_GESTURE,","highlight_start":1,"highlight_end":46},{"text":" get_pointer_gesture_hold_v1_interface,","highlight_start":1,"highlight_end":43},{"text":" zwp_pointer_gesture_hold_v1","highlight_start":1,"highlight_end":32},{"text":");","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"pointer_gesture_ctor!","def_site_span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46445,"byte_end":46478,"line_start":1002,"line_end":1002,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! pointer_gesture_ctor {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46544,"byte_end":46684,"line_start":1004,"line_end":1007,"column_start":9,"column_end":23,"is_primary":true,"text":[{"text":" unsafe extern \"C\" fn $name(","highlight_start":9,"highlight_end":36},{"text":" gestures: *mut zwp_pointer_gestures_v1,","highlight_start":1,"highlight_end":52},{"text":" pointer: *mut wl_pointer,","highlight_start":1,"highlight_end":38},{"text":" ) -> *mut $ret {","highlight_start":1,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47586,"byte_end":47774,"line_start":1039,"line_end":1044,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"pointer_gesture_ctor!(","highlight_start":1,"highlight_end":23},{"text":" zwp_pointer_gestures_v1_get_hold_impl,","highlight_start":1,"highlight_end":43},{"text":" ZWP_POINTER_GESTURES_V1_GET_HOLD_GESTURE,","highlight_start":1,"highlight_end":46},{"text":" get_pointer_gesture_hold_v1_interface,","highlight_start":1,"highlight_end":43},{"text":" zwp_pointer_gesture_hold_v1","highlight_start":1,"highlight_end":32},{"text":");","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"pointer_gesture_ctor!","def_site_span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46445,"byte_end":46478,"line_start":1002,"line_end":1002,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! pointer_gesture_ctor {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46685,"byte_end":46685,"line_start":1007,"line_end":1007,"column_start":24,"column_end":24,"is_primary":true,"text":[{"text":" ) -> *mut $ret {","highlight_start":24,"highlight_end":24}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":{"span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47586,"byte_end":47774,"line_start":1039,"line_end":1044,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"pointer_gesture_ctor!(","highlight_start":1,"highlight_end":23},{"text":" zwp_pointer_gestures_v1_get_hold_impl,","highlight_start":1,"highlight_end":43},{"text":" ZWP_POINTER_GESTURES_V1_GET_HOLD_GESTURE,","highlight_start":1,"highlight_end":46},{"text":" get_pointer_gesture_hold_v1_interface,","highlight_start":1,"highlight_end":43},{"text":" zwp_pointer_gesture_hold_v1","highlight_start":1,"highlight_end":32},{"text":");","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"pointer_gesture_ctor!","def_site_span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46445,"byte_end":46478,"line_start":1002,"line_end":1002,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! pointer_gesture_ctor {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47187,"byte_end":47187,"line_start":1023,"line_end":1023,"column_start":10,"column_end":10,"is_primary":true,"text":[{"text":" }","highlight_start":10,"highlight_end":10}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":{"span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47586,"byte_end":47774,"line_start":1039,"line_end":1044,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"pointer_gesture_ctor!(","highlight_start":1,"highlight_end":23},{"text":" zwp_pointer_gestures_v1_get_hold_impl,","highlight_start":1,"highlight_end":43},{"text":" ZWP_POINTER_GESTURES_V1_GET_HOLD_GESTURE,","highlight_start":1,"highlight_end":46},{"text":" get_pointer_gesture_hold_v1_interface,","highlight_start":1,"highlight_end":43},{"text":" zwp_pointer_gesture_hold_v1","highlight_start":1,"highlight_end":32},{"text":");","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"pointer_gesture_ctor!","def_site_span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46445,"byte_end":46478,"line_start":1002,"line_end":1002,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! pointer_gesture_ctor {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1015:34\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1015\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1039\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpointer_gesture_ctor!(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1040\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gestures_v1_get_hold_impl,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1041\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ZWP_POINTER_GESTURES_V1_GET_HOLD_GESTURE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1042\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_pointer_gesture_hold_v1_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1043\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gesture_hold_v1\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1044\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1004:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1004\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe extern \"C\" fn $name(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1005\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m gestures: *mut zwp_pointer_gestures_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1006\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pointer: *mut wl_pointer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1007\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut $ret {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|______________________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1039\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpointer_gesture_ctor!(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1040\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gestures_v1_get_hold_impl,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1041\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ZWP_POINTER_GESTURES_V1_GET_HOLD_GESTURE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1042\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_pointer_gesture_hold_v1_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1043\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gesture_hold_v1\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1044\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `pointer_gesture_ctor` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46995,"byte_end":47164,"line_start":1016,"line_end":1022,"column_start":13,"column_end":14,"is_primary":true,"text":[{"text":" f(","highlight_start":13,"highlight_end":15},{"text":" gestures as *mut wl_proxy,","highlight_start":1,"highlight_end":43},{"text":" $op,","highlight_start":1,"highlight_end":21},{"text":" $iface(),","highlight_start":1,"highlight_end":26},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":38},{"text":" pointer,","highlight_start":1,"highlight_end":25},{"text":" ) as *mut $ret","highlight_start":1,"highlight_end":14}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47586,"byte_end":47774,"line_start":1039,"line_end":1044,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"pointer_gesture_ctor!(","highlight_start":1,"highlight_end":23},{"text":" zwp_pointer_gestures_v1_get_hold_impl,","highlight_start":1,"highlight_end":43},{"text":" ZWP_POINTER_GESTURES_V1_GET_HOLD_GESTURE,","highlight_start":1,"highlight_end":46},{"text":" get_pointer_gesture_hold_v1_interface,","highlight_start":1,"highlight_end":43},{"text":" zwp_pointer_gesture_hold_v1","highlight_start":1,"highlight_end":32},{"text":");","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"pointer_gesture_ctor!","def_site_span":{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":46445,"byte_end":46478,"line_start":1002,"line_end":1002,"column_start":1,"column_end":34,"is_primary":false,"text":[{"text":"macro_rules! pointer_gesture_ctor {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1016:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1016\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1017\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m gestures as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1018\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m $op,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1019\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m $iface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1020\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1021\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pointer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1022\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut $ret\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1039\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpointer_gesture_ctor!(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1040\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gestures_v1_get_hold_impl,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1041\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ZWP_POINTER_GESTURES_V1_GET_HOLD_GESTURE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1042\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_pointer_gesture_hold_v1_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1043\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m zwp_pointer_gesture_hold_v1\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1044\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|_-\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12min this macro invocation\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `pointer_gesture_ctor` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":48227,"byte_end":48269,"line_start":1059,"line_end":1059,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":47846,"byte_end":48036,"line_start":1048,"line_end":1051,"column_start":1,"column_end":34,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn zwp_relative_pointer_manager_v1_get_relative_pointer_impl(","highlight_start":1,"highlight_end":80},{"text":" mgr: *mut zwp_relative_pointer_manager_v1,","highlight_start":1,"highlight_end":47},{"text":" pointer: *mut wl_pointer,","highlight_start":1,"highlight_end":30},{"text":") -> *mut zwp_relative_pointer_v1 {","highlight_start":1,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":48037,"byte_end":48037,"line_start":1051,"line_end":1051,"column_start":35,"column_end":35,"is_primary":true,"text":[{"text":") -> *mut zwp_relative_pointer_v1 {","highlight_start":35,"highlight_end":35}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":48501,"byte_end":48501,"line_start":1067,"line_end":1067,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1059:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1059\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1048:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1048\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn zwp_relative_pointer_manager_v1_get_relative_pointer_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1049\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m mgr: *mut zwp_relative_pointer_manager_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1050\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pointer: *mut wl_pointer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1051\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> *mut zwp_relative_pointer_v1 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_________________________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":48275,"byte_end":48467,"line_start":1060,"line_end":1066,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" f(","highlight_start":5,"highlight_end":7},{"text":" mgr as *mut wl_proxy,","highlight_start":1,"highlight_end":30},{"text":" ZWP_RELATIVE_POINTER_MANAGER_V1_GET_RELATIVE_POINTER,","highlight_start":1,"highlight_end":62},{"text":" get_relative_pointer_v1_interface(),","highlight_start":1,"highlight_end":45},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":30},{"text":" pointer,","highlight_start":1,"highlight_end":17},{"text":" ) as *mut zwp_relative_pointer_v1","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1060:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1060\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1061\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m mgr as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1062\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ZWP_RELATIVE_POINTER_MANAGER_V1_GET_RELATIVE_POINTER,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1063\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_relative_pointer_v1_interface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1064\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1065\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pointer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1066\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut zwp_relative_pointer_v1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":49292,"byte_end":49334,"line_start":1091,"line_end":1091,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":48784,"byte_end":49039,"line_start":1074,"line_end":1080,"column_start":1,"column_end":32,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn zwp_pointer_constraints_v1_lock_pointer_impl(","highlight_start":1,"highlight_end":67},{"text":" constraints: *mut zwp_pointer_constraints_v1,","highlight_start":1,"highlight_end":50},{"text":" surface: *mut wl_surface,","highlight_start":1,"highlight_end":30},{"text":" pointer: *mut wl_pointer,","highlight_start":1,"highlight_end":30},{"text":" region: *mut wl_region,","highlight_start":1,"highlight_end":28},{"text":" lifetime: u32,","highlight_start":1,"highlight_end":19},{"text":") -> *mut zwp_locked_pointer_v1 {","highlight_start":1,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":49040,"byte_end":49040,"line_start":1080,"line_end":1080,"column_start":33,"column_end":33,"is_primary":true,"text":[{"text":") -> *mut zwp_locked_pointer_v1 {","highlight_start":33,"highlight_end":33}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":49608,"byte_end":49608,"line_start":1102,"line_end":1102,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1091:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1091\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1074:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1074\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn zwp_pointer_constraints_v1_lock_pointer_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1075\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m constraints: *mut zwp_pointer_constraints_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1076\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m surface: *mut wl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1077\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pointer: *mut wl_pointer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1078\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m region: *mut wl_region,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1079\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m lifetime: u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1080\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> *mut zwp_locked_pointer_v1 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_______________________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":49340,"byte_end":49576,"line_start":1092,"line_end":1101,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" f(","highlight_start":5,"highlight_end":7},{"text":" constraints as *mut wl_proxy,","highlight_start":1,"highlight_end":38},{"text":" ZWP_POINTER_CONSTRAINTS_V1_LOCK_POINTER,","highlight_start":1,"highlight_end":49},{"text":" get_locked_pointer_v1_interface(),","highlight_start":1,"highlight_end":43},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":30},{"text":" surface,","highlight_start":1,"highlight_end":17},{"text":" pointer,","highlight_start":1,"highlight_end":17},{"text":" region,","highlight_start":1,"highlight_end":16},{"text":" lifetime,","highlight_start":1,"highlight_end":18},{"text":" ) as *mut zwp_locked_pointer_v1","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1092:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1092\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1093\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m constraints as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1094\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ZWP_POINTER_CONSTRAINTS_V1_LOCK_POINTER,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1095\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_locked_pointer_v1_interface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1100\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m lifetime,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1101\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut zwp_locked_pointer_v1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":49772,"byte_end":49802,"line_start":1106,"line_end":1106,"column_start":55,"column_end":85,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(c.marshal);","highlight_start":55,"highlight_end":85}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":49610,"byte_end":49696,"line_start":1104,"line_end":1104,"column_start":1,"column_end":87,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn zwp_locked_pointer_v1_destroy_impl(p: *mut zwp_locked_pointer_v1) {","highlight_start":1,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":49697,"byte_end":49697,"line_start":1104,"line_end":1104,"column_start":88,"column_end":88,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn zwp_locked_pointer_v1_destroy_impl(p: *mut zwp_locked_pointer_v1) {","highlight_start":88,"highlight_end":88}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":49977,"byte_end":49977,"line_start":1110,"line_end":1110,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1106:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1106\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(c.marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1104:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1104\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn zwp_locked_pointer_v1_destroy_impl(p: *mut zwp_locked_pointer_v1) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":49808,"byte_end":49860,"line_start":1107,"line_end":1107,"column_start":5,"column_end":57,"is_primary":true,"text":[{"text":" f(p as *mut wl_proxy, ZWP_LOCKED_POINTER_V1_DESTROY);","highlight_start":5,"highlight_end":57}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1107:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1107\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(p as *mut wl_proxy, ZWP_LOCKED_POINTER_V1_DESTROY);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":49911,"byte_end":49947,"line_start":1108,"line_end":1108,"column_start":50,"column_end":86,"is_primary":true,"text":[{"text":" let d: unsafe extern \"C\" fn(*mut wl_proxy) = std::mem::transmute(c.proxy_destroy);","highlight_start":50,"highlight_end":86}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1108:50\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1108\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let d: unsafe extern \"C\" fn(*mut wl_proxy) = std::mem::transmute(c.proxy_destroy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":49953,"byte_end":49974,"line_start":1109,"line_end":1109,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":" d(p as *mut wl_proxy);","highlight_start":5,"highlight_end":26}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1109:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1109\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m d(p as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":50145,"byte_end":50175,"line_start":1114,"line_end":1114,"column_start":55,"column_end":85,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(c.marshal);","highlight_start":55,"highlight_end":85}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":49979,"byte_end":50069,"line_start":1112,"line_end":1112,"column_start":1,"column_end":91,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn zwp_relative_pointer_v1_destroy_impl(p: *mut zwp_relative_pointer_v1) {","highlight_start":1,"highlight_end":91}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":50070,"byte_end":50070,"line_start":1112,"line_end":1112,"column_start":92,"column_end":92,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn zwp_relative_pointer_v1_destroy_impl(p: *mut zwp_relative_pointer_v1) {","highlight_start":92,"highlight_end":92}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":50352,"byte_end":50352,"line_start":1118,"line_end":1118,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1114:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1114\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(c.marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1112:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1112\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn zwp_relative_pointer_v1_destroy_impl(p: *mut zwp_relative_pointer_v1) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":50181,"byte_end":50235,"line_start":1115,"line_end":1115,"column_start":5,"column_end":59,"is_primary":true,"text":[{"text":" f(p as *mut wl_proxy, ZWP_RELATIVE_POINTER_V1_DESTROY);","highlight_start":5,"highlight_end":59}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1115:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1115\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(p as *mut wl_proxy, ZWP_RELATIVE_POINTER_V1_DESTROY);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":50286,"byte_end":50322,"line_start":1116,"line_end":1116,"column_start":50,"column_end":86,"is_primary":true,"text":[{"text":" let d: unsafe extern \"C\" fn(*mut wl_proxy) = std::mem::transmute(c.proxy_destroy);","highlight_start":50,"highlight_end":86}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1116:50\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1116\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let d: unsafe extern \"C\" fn(*mut wl_proxy) = std::mem::transmute(c.proxy_destroy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":50328,"byte_end":50349,"line_start":1117,"line_end":1117,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":" d(p as *mut wl_proxy);","highlight_start":5,"highlight_end":26}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1117:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1117\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m d(p as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":50774,"byte_end":50816,"line_start":1132,"line_end":1132,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":50354,"byte_end":50508,"line_start":1120,"line_end":1123,"column_start":1,"column_end":29,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn zwp_tablet_manager_v2_get_tablet_seat_impl(","highlight_start":1,"highlight_end":65},{"text":" mgr: *mut zwp_tablet_manager_v2,","highlight_start":1,"highlight_end":37},{"text":" seat: *mut wl_seat,","highlight_start":1,"highlight_end":24},{"text":") -> *mut zwp_tablet_seat_v2 {","highlight_start":1,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":50509,"byte_end":50509,"line_start":1123,"line_end":1123,"column_start":30,"column_end":30,"is_primary":true,"text":[{"text":") -> *mut zwp_tablet_seat_v2 {","highlight_start":30,"highlight_end":30}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":50996,"byte_end":50996,"line_start":1140,"line_end":1140,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1132:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1132\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1120:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1120\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn zwp_tablet_manager_v2_get_tablet_seat_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1121\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m mgr: *mut zwp_tablet_manager_v2,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1122\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat: *mut wl_seat,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1123\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> *mut zwp_tablet_seat_v2 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|____________________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":50822,"byte_end":50967,"line_start":1133,"line_end":1139,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" f(","highlight_start":5,"highlight_end":7},{"text":" mgr as *mut wl_proxy,","highlight_start":1,"highlight_end":30},{"text":" 0,","highlight_start":1,"highlight_end":11},{"text":" get_tablet_seat_v2_interface() as *const _,","highlight_start":1,"highlight_end":52},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":30},{"text":" seat,","highlight_start":1,"highlight_end":14},{"text":" ) as *mut zwp_tablet_seat_v2","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1133:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1133\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1134\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m mgr as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1135\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 0,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1136\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_tablet_seat_v2_interface() as *const _,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1137\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1138\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1139\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut zwp_tablet_seat_v2\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":51483,"byte_end":51525,"line_start":1154,"line_end":1154,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":51143,"byte_end":51295,"line_start":1143,"line_end":1146,"column_start":1,"column_end":25,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_data_device_manager_get_data_device_impl(","highlight_start":1,"highlight_end":66},{"text":" mgr: *mut wl_data_device_manager,","highlight_start":1,"highlight_end":38},{"text":" seat: *mut wl_seat,","highlight_start":1,"highlight_end":24},{"text":") -> *mut wl_data_device {","highlight_start":1,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":51296,"byte_end":51296,"line_start":1146,"line_end":1146,"column_start":26,"column_end":26,"is_primary":true,"text":[{"text":") -> *mut wl_data_device {","highlight_start":26,"highlight_end":26}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":51675,"byte_end":51675,"line_start":1162,"line_end":1162,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1154:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1154\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1143:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1143\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_data_device_manager_get_data_device_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1144\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m mgr: *mut wl_data_device_manager,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1145\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat: *mut wl_seat,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1146\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> *mut wl_data_device {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|________________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":51531,"byte_end":51650,"line_start":1155,"line_end":1161,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" f(","highlight_start":5,"highlight_end":7},{"text":" mgr as *mut wl_proxy,","highlight_start":1,"highlight_end":30},{"text":" 1,","highlight_start":1,"highlight_end":11},{"text":" c.wl_data_device,","highlight_start":1,"highlight_end":26},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":30},{"text":" seat,","highlight_start":1,"highlight_end":14},{"text":" ) as *mut wl_data_device","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1155:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1155\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1156\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m mgr as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1157\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1158\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m c.wl_data_device,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1159\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1160\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1161\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut wl_data_device\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":51985,"byte_end":52027,"line_start":1176,"line_end":1176,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":51676,"byte_end":51793,"line_start":1163,"line_end":1167,"column_start":1,"column_end":22,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_shm_create_pool_impl(","highlight_start":1,"highlight_end":46},{"text":" shm: *mut wl_shm,","highlight_start":1,"highlight_end":22},{"text":" fd: i32,","highlight_start":1,"highlight_end":13},{"text":" size: i32,","highlight_start":1,"highlight_end":15},{"text":") -> *mut wl_shm_pool {","highlight_start":1,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":51794,"byte_end":51794,"line_start":1167,"line_end":1167,"column_start":23,"column_end":23,"is_primary":true,"text":[{"text":") -> *mut wl_shm_pool {","highlight_start":23,"highlight_end":23}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":52183,"byte_end":52183,"line_start":1185,"line_end":1185,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1176:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1176\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1163:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1163\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_shm_create_pool_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1164\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m shm: *mut wl_shm,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1165\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fd: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1166\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m size: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1167\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> *mut wl_shm_pool {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_____________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":52033,"byte_end":52161,"line_start":1177,"line_end":1184,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" f(","highlight_start":5,"highlight_end":7},{"text":" shm as *mut wl_proxy,","highlight_start":1,"highlight_end":30},{"text":" 0,","highlight_start":1,"highlight_end":11},{"text":" c.wl_shm_pool,","highlight_start":1,"highlight_end":23},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":30},{"text":" fd,","highlight_start":1,"highlight_end":12},{"text":" size,","highlight_start":1,"highlight_end":14},{"text":" ) as *mut wl_shm_pool","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1177:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1177\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1178\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m shm as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1179\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 0,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1180\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m c.wl_shm_pool,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m size,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1184\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut wl_shm_pool\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":52590,"byte_end":52632,"line_start":1205,"line_end":1205,"column_start":26,"column_end":68,"is_primary":true,"text":[{"text":" ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);","highlight_start":26,"highlight_end":68}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":52184,"byte_end":52359,"line_start":1186,"line_end":1193,"column_start":1,"column_end":20,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_shm_pool_create_buffer_impl(","highlight_start":1,"highlight_end":53},{"text":" pool: *mut wl_shm_pool,","highlight_start":1,"highlight_end":28},{"text":" offset: i32,","highlight_start":1,"highlight_end":17},{"text":" w: i32,","highlight_start":1,"highlight_end":12},{"text":" h: i32,","highlight_start":1,"highlight_end":12},{"text":" stride: i32,","highlight_start":1,"highlight_end":17},{"text":" format: u32,","highlight_start":1,"highlight_end":17},{"text":") -> *mut wl_buffer {","highlight_start":1,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":52360,"byte_end":52360,"line_start":1193,"line_end":1193,"column_start":21,"column_end":21,"is_primary":true,"text":[{"text":") -> *mut wl_buffer {","highlight_start":21,"highlight_end":21}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":52829,"byte_end":52829,"line_start":1217,"line_end":1217,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1205:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1205\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) -> *mut wl_proxy = std::mem::transmute(c.marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1186:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1186\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_shm_pool_create_buffer_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1187\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pool: *mut wl_shm_pool,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1188\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m offset: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1189\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m w: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1192\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m format: u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1193\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> *mut wl_buffer {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|___________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":52638,"byte_end":52809,"line_start":1206,"line_end":1216,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" f(","highlight_start":5,"highlight_end":7},{"text":" pool as *mut wl_proxy,","highlight_start":1,"highlight_end":31},{"text":" 0,","highlight_start":1,"highlight_end":11},{"text":" c.wl_buffer,","highlight_start":1,"highlight_end":21},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":30},{"text":" offset,","highlight_start":1,"highlight_end":16},{"text":" w,","highlight_start":1,"highlight_end":11},{"text":" h,","highlight_start":1,"highlight_end":11},{"text":" stride,","highlight_start":1,"highlight_end":16},{"text":" format,","highlight_start":1,"highlight_end":16},{"text":" ) as *mut wl_buffer","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1206:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1206\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1207\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pool as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1208\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 0,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1209\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m c.wl_buffer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1215\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m format,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1216\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut wl_buffer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":53035,"byte_end":53069,"line_start":1221,"line_end":1221,"column_start":65,"column_end":99,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, i32, i32) = std::mem::transmute(ctx().marshal);","highlight_start":65,"highlight_end":99}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":52877,"byte_end":52968,"line_start":1220,"line_end":1220,"column_start":1,"column_end":92,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_subsurface_set_position_impl(p: *mut wl_subsurface, x: i32, y: i32) {","highlight_start":1,"highlight_end":92}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":52969,"byte_end":52969,"line_start":1220,"line_end":1220,"column_start":93,"column_end":93,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_subsurface_set_position_impl(p: *mut wl_subsurface, x: i32, y: i32) {","highlight_start":93,"highlight_end":93}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":53108,"byte_end":53108,"line_start":1223,"line_end":1223,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1221:65\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1221\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, i32, i32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1220:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1220\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_subsurface_set_position_impl(p: *mut wl_subsurface, x: i32, y: i32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":53075,"byte_end":53105,"line_start":1222,"line_end":1222,"column_start":5,"column_end":35,"is_primary":true,"text":[{"text":" f(p as *mut wl_proxy, 1, x, y);","highlight_start":5,"highlight_end":35}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1222:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1222\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(p as *mut wl_proxy, 1, x, y);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":53239,"byte_end":53273,"line_start":1225,"line_end":1225,"column_start":55,"column_end":89,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);","highlight_start":55,"highlight_end":89}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":53109,"byte_end":53182,"line_start":1224,"line_end":1224,"column_start":1,"column_end":74,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_subsurface_set_desync_impl(p: *mut wl_subsurface) {","highlight_start":1,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":53183,"byte_end":53183,"line_start":1224,"line_end":1224,"column_start":75,"column_end":75,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_subsurface_set_desync_impl(p: *mut wl_subsurface) {","highlight_start":75,"highlight_end":75}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":53306,"byte_end":53306,"line_start":1227,"line_end":1227,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1225:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1225\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1224:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1224\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_subsurface_set_desync_impl(p: *mut wl_subsurface) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":53279,"byte_end":53303,"line_start":1226,"line_end":1226,"column_start":5,"column_end":29,"is_primary":true,"text":[{"text":" f(p as *mut wl_proxy, 5);","highlight_start":5,"highlight_end":29}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1226:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1226\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(p as *mut wl_proxy, 5);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":54784,"byte_end":54808,"line_start":1251,"line_end":1251,"column_start":5,"column_end":29,"is_primary":true,"text":[{"text":" (ctx().proxy_destroy)(p);","highlight_start":5,"highlight_end":29}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":54722,"byte_end":54777,"line_start":1250,"line_end":1250,"column_start":1,"column_end":56,"is_primary":true,"text":[{"text":"unsafe fn destroy_proxy_after_request(p: *mut wl_proxy) {","highlight_start":1,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":54778,"byte_end":54778,"line_start":1250,"line_end":1250,"column_start":57,"column_end":57,"is_primary":true,"text":[{"text":"unsafe fn destroy_proxy_after_request(p: *mut wl_proxy) {","highlight_start":57,"highlight_end":57}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":54811,"byte_end":54811,"line_start":1252,"line_end":1252,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1251:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1251\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (ctx().proxy_destroy)(p);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1250:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1250\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn destroy_proxy_after_request(p: *mut wl_proxy) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":54939,"byte_end":54973,"line_start":1254,"line_end":1254,"column_start":55,"column_end":89,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);","highlight_start":55,"highlight_end":89}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":54812,"byte_end":54882,"line_start":1253,"line_end":1253,"column_start":1,"column_end":71,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_subsurface_destroy_impl(p: *mut wl_subsurface) {","highlight_start":1,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":54883,"byte_end":54883,"line_start":1253,"line_end":1253,"column_start":72,"column_end":72,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_subsurface_destroy_impl(p: *mut wl_subsurface) {","highlight_start":72,"highlight_end":72}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55059,"byte_end":55059,"line_start":1257,"line_end":1257,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1254:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1254\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1253:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1253\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_subsurface_destroy_impl(p: *mut wl_subsurface) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":54979,"byte_end":55003,"line_start":1255,"line_end":1255,"column_start":5,"column_end":29,"is_primary":true,"text":[{"text":" f(p as *mut wl_proxy, 0);","highlight_start":5,"highlight_end":29}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1255:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1255\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(p as *mut wl_proxy, 0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::dlopen::destroy_proxy_after_request` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55009,"byte_end":55056,"line_start":1256,"line_end":1256,"column_start":5,"column_end":52,"is_primary":true,"text":[{"text":" destroy_proxy_after_request(p as *mut wl_proxy);","highlight_start":5,"highlight_end":52}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::dlopen::destroy_proxy_after_request` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1256:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1256\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m destroy_proxy_after_request(p as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55181,"byte_end":55215,"line_start":1259,"line_end":1259,"column_start":55,"column_end":89,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);","highlight_start":55,"highlight_end":89}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55060,"byte_end":55124,"line_start":1258,"line_end":1258,"column_start":1,"column_end":65,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_destroy_impl(s: *mut wl_surface) {","highlight_start":1,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55125,"byte_end":55125,"line_start":1258,"line_end":1258,"column_start":66,"column_end":66,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_destroy_impl(s: *mut wl_surface) {","highlight_start":66,"highlight_end":66}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55301,"byte_end":55301,"line_start":1262,"line_end":1262,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1259:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1259\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1258:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1258\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_surface_destroy_impl(s: *mut wl_surface) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55221,"byte_end":55245,"line_start":1260,"line_end":1260,"column_start":5,"column_end":29,"is_primary":true,"text":[{"text":" f(s as *mut wl_proxy, 0);","highlight_start":5,"highlight_end":29}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1260:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1260\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(s as *mut wl_proxy, 0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::dlopen::destroy_proxy_after_request` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55251,"byte_end":55298,"line_start":1261,"line_end":1261,"column_start":5,"column_end":52,"is_primary":true,"text":[{"text":" destroy_proxy_after_request(s as *mut wl_proxy);","highlight_start":5,"highlight_end":52}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::dlopen::destroy_proxy_after_request` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1261:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1261\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m destroy_proxy_after_request(s as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55515,"byte_end":55549,"line_start":1270,"line_end":1270,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" std::mem::transmute(ctx().marshal);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55302,"byte_end":55424,"line_start":1263,"line_end":1268,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_attach_impl(","highlight_start":1,"highlight_end":45},{"text":" s: *mut wl_surface,","highlight_start":1,"highlight_end":24},{"text":" buffer: *mut wl_buffer,","highlight_start":1,"highlight_end":28},{"text":" x: i32,","highlight_start":1,"highlight_end":12},{"text":" y: i32,","highlight_start":1,"highlight_end":12},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55425,"byte_end":55425,"line_start":1268,"line_end":1268,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55596,"byte_end":55596,"line_start":1272,"line_end":1272,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1270:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1270\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1263:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1263\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_surface_attach_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1264\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m s: *mut wl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1265\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m buffer: *mut wl_buffer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1266\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m x: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m y: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1268\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55555,"byte_end":55593,"line_start":1271,"line_end":1271,"column_start":5,"column_end":43,"is_primary":true,"text":[{"text":" f(s as *mut wl_proxy, 1, buffer, x, y);","highlight_start":5,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1271:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1271\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(s as *mut wl_proxy, 1, buffer, x, y);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55777,"byte_end":55811,"line_start":1275,"line_end":1275,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" std::mem::transmute(ctx().marshal);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55597,"byte_end":55692,"line_start":1273,"line_end":1273,"column_start":1,"column_end":96,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_damage_impl(s: *mut wl_surface, x: i32, y: i32, w: i32, h: i32) {","highlight_start":1,"highlight_end":96}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55693,"byte_end":55693,"line_start":1273,"line_end":1273,"column_start":97,"column_end":97,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_damage_impl(s: *mut wl_surface, x: i32, y: i32, w: i32, h: i32) {","highlight_start":97,"highlight_end":97}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55856,"byte_end":55856,"line_start":1277,"line_end":1277,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1275:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1275\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1273:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1273\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_surface_damage_impl(s: *mut wl_surface, x: i32, y: i32, w: i32, h: i32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55817,"byte_end":55853,"line_start":1276,"line_end":1276,"column_start":5,"column_end":41,"is_primary":true,"text":[{"text":" f(s as *mut wl_proxy, 2, x, y, w, h);","highlight_start":5,"highlight_end":41}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1276:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1276\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(s as *mut wl_proxy, 2, x, y, w, h);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":56123,"byte_end":56157,"line_start":1281,"line_end":1281,"column_start":60,"column_end":94,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, i32) = std::mem::transmute(ctx().marshal);","highlight_start":60,"highlight_end":94}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55857,"byte_end":55942,"line_start":1278,"line_end":1278,"column_start":1,"column_end":86,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_set_buffer_scale_impl(s: *mut wl_surface, scale: i32) {","highlight_start":1,"highlight_end":86}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":55943,"byte_end":55943,"line_start":1278,"line_end":1278,"column_start":87,"column_end":87,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_set_buffer_scale_impl(s: *mut wl_surface, scale: i32) {","highlight_start":87,"highlight_end":87}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":56197,"byte_end":56197,"line_start":1283,"line_end":1283,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1281:60\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1281\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, i32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1278:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1278\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_surface_set_buffer_scale_impl(s: *mut wl_surface, scale: i32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":56163,"byte_end":56194,"line_start":1282,"line_end":1282,"column_start":5,"column_end":36,"is_primary":true,"text":[{"text":" f(s as *mut wl_proxy, 8, scale);","highlight_start":5,"highlight_end":36}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1282:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1282\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(s as *mut wl_proxy, 8, scale);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":56527,"byte_end":56561,"line_start":1294,"line_end":1294,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" std::mem::transmute(ctx().marshal);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":56198,"byte_end":56323,"line_start":1284,"line_end":1290,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_damage_buffer_impl(","highlight_start":1,"highlight_end":52},{"text":" s: *mut wl_surface,","highlight_start":1,"highlight_end":24},{"text":" x: i32,","highlight_start":1,"highlight_end":12},{"text":" y: i32,","highlight_start":1,"highlight_end":12},{"text":" w: i32,","highlight_start":1,"highlight_end":12},{"text":" h: i32,","highlight_start":1,"highlight_end":12},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":56324,"byte_end":56324,"line_start":1290,"line_end":1290,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":56606,"byte_end":56606,"line_start":1296,"line_end":1296,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1294:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1294\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1284:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1284\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_surface_damage_buffer_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1285\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m s: *mut wl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1286\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m x: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m y: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1288\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m w: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1289\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m h: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1290\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":56567,"byte_end":56603,"line_start":1295,"line_end":1295,"column_start":5,"column_end":41,"is_primary":true,"text":[{"text":" f(s as *mut wl_proxy, 9, x, y, w, h);","highlight_start":5,"highlight_end":41}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1295:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1295\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(s as *mut wl_proxy, 9, x, y, w, h);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":56786,"byte_end":56820,"line_start":1299,"line_end":1299,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" std::mem::transmute(ctx().marshal);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":56607,"byte_end":56705,"line_start":1297,"line_end":1297,"column_start":1,"column_end":99,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_set_opaque_region_impl(s: *mut wl_surface, region: *mut wl_region) {","highlight_start":1,"highlight_end":99}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":56706,"byte_end":56706,"line_start":1297,"line_end":1297,"column_start":100,"column_end":100,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_set_opaque_region_impl(s: *mut wl_surface, region: *mut wl_region) {","highlight_start":100,"highlight_end":100}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":56861,"byte_end":56861,"line_start":1301,"line_end":1301,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1299:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1299\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1297:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1297\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_surface_set_opaque_region_impl(s: *mut wl_surface, region: *mut wl_region) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":56826,"byte_end":56858,"line_start":1300,"line_end":1300,"column_start":5,"column_end":37,"is_primary":true,"text":[{"text":" f(s as *mut wl_proxy, 4, region);","highlight_start":5,"highlight_end":37}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1300:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1300\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(s as *mut wl_proxy, 4, region);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57111,"byte_end":57145,"line_start":1305,"line_end":1305,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" std::mem::transmute(ctx().marshal);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":56862,"byte_end":56959,"line_start":1302,"line_end":1302,"column_start":1,"column_end":98,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_set_input_region_impl(s: *mut wl_surface, region: *mut wl_region) {","highlight_start":1,"highlight_end":98}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":56960,"byte_end":56960,"line_start":1302,"line_end":1302,"column_start":99,"column_end":99,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_surface_set_input_region_impl(s: *mut wl_surface, region: *mut wl_region) {","highlight_start":99,"highlight_end":99}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57186,"byte_end":57186,"line_start":1307,"line_end":1307,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1305:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1305\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1302:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1302\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_surface_set_input_region_impl(s: *mut wl_surface, region: *mut wl_region) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57151,"byte_end":57183,"line_start":1306,"line_end":1306,"column_start":5,"column_end":37,"is_primary":true,"text":[{"text":" f(s as *mut wl_proxy, 5, region);","highlight_start":5,"highlight_end":37}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1306:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1306\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(s as *mut wl_proxy, 5, region);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57326,"byte_end":57360,"line_start":1309,"line_end":1309,"column_start":60,"column_end":94,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, u32) = std::mem::transmute(ctx().marshal);","highlight_start":60,"highlight_end":94}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57187,"byte_end":57264,"line_start":1308,"line_end":1308,"column_start":1,"column_end":78,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_wm_base_pong_impl(wm: *mut xdg_wm_base, serial: u32) {","highlight_start":1,"highlight_end":78}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57265,"byte_end":57265,"line_start":1308,"line_end":1308,"column_start":79,"column_end":79,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_wm_base_pong_impl(wm: *mut xdg_wm_base, serial: u32) {","highlight_start":79,"highlight_end":79}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57402,"byte_end":57402,"line_start":1311,"line_end":1311,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1309:60\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1309\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1308:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1308\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_wm_base_pong_impl(wm: *mut xdg_wm_base, serial: u32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57366,"byte_end":57399,"line_start":1310,"line_end":1310,"column_start":5,"column_end":38,"is_primary":true,"text":[{"text":" f(wm as *mut wl_proxy, 3, serial);","highlight_start":5,"highlight_end":38}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1310:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1310\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(wm as *mut wl_proxy, 3, serial);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57551,"byte_end":57585,"line_start":1313,"line_end":1313,"column_start":60,"column_end":94,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, u32) = std::mem::transmute(ctx().marshal);","highlight_start":60,"highlight_end":94}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57403,"byte_end":57489,"line_start":1312,"line_end":1312,"column_start":1,"column_end":87,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_surface_ack_configure_impl(xs: *mut xdg_surface, serial: u32) {","highlight_start":1,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57490,"byte_end":57490,"line_start":1312,"line_end":1312,"column_start":88,"column_end":88,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_surface_ack_configure_impl(xs: *mut xdg_surface, serial: u32) {","highlight_start":88,"highlight_end":88}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57627,"byte_end":57627,"line_start":1315,"line_end":1315,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1313:60\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1313\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1312:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1312\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_surface_ack_configure_impl(xs: *mut xdg_surface, serial: u32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57591,"byte_end":57624,"line_start":1314,"line_end":1314,"column_start":5,"column_end":38,"is_primary":true,"text":[{"text":" f(xs as *mut wl_proxy, 4, serial);","highlight_start":5,"highlight_end":38}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1314:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1314\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(xs as *mut wl_proxy, 4, serial);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57800,"byte_end":57834,"line_start":1318,"line_end":1318,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" std::mem::transmute(ctx().marshal);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57628,"byte_end":57720,"line_start":1316,"line_end":1316,"column_start":1,"column_end":93,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_set_title_impl(t: *mut xdg_toplevel, title: *const c_char) {","highlight_start":1,"highlight_end":93}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57721,"byte_end":57721,"line_start":1316,"line_end":1316,"column_start":94,"column_end":94,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_set_title_impl(t: *mut xdg_toplevel, title: *const c_char) {","highlight_start":94,"highlight_end":94}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57874,"byte_end":57874,"line_start":1320,"line_end":1320,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1318:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1318\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1316:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1316\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_toplevel_set_title_impl(t: *mut xdg_toplevel, title: *const c_char) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57840,"byte_end":57871,"line_start":1319,"line_end":1319,"column_start":5,"column_end":36,"is_primary":true,"text":[{"text":" f(t as *mut wl_proxy, 2, title);","highlight_start":5,"highlight_end":36}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1319:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1319\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(t as *mut wl_proxy, 2, title);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58049,"byte_end":58083,"line_start":1323,"line_end":1323,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" std::mem::transmute(ctx().marshal);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57875,"byte_end":57969,"line_start":1321,"line_end":1321,"column_start":1,"column_end":95,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_set_app_id_impl(t: *mut xdg_toplevel, app_id: *const c_char) {","highlight_start":1,"highlight_end":95}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":57970,"byte_end":57970,"line_start":1321,"line_end":1321,"column_start":96,"column_end":96,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_set_app_id_impl(t: *mut xdg_toplevel, app_id: *const c_char) {","highlight_start":96,"highlight_end":96}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58124,"byte_end":58124,"line_start":1325,"line_end":1325,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1323:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1323\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1321:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1321\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_toplevel_set_app_id_impl(t: *mut xdg_toplevel, app_id: *const c_char) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58089,"byte_end":58121,"line_start":1324,"line_end":1324,"column_start":5,"column_end":37,"is_primary":true,"text":[{"text":" f(t as *mut wl_proxy, 3, app_id);","highlight_start":5,"highlight_end":37}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1324:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1324\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(t as *mut wl_proxy, 3, app_id);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58256,"byte_end":58290,"line_start":1327,"line_end":1327,"column_start":55,"column_end":89,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);","highlight_start":55,"highlight_end":89}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58125,"byte_end":58199,"line_start":1326,"line_end":1326,"column_start":1,"column_end":75,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_set_minimized_impl(t: *mut xdg_toplevel) {","highlight_start":1,"highlight_end":75}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58200,"byte_end":58200,"line_start":1326,"line_end":1326,"column_start":76,"column_end":76,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_set_minimized_impl(t: *mut xdg_toplevel) {","highlight_start":76,"highlight_end":76}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58324,"byte_end":58324,"line_start":1329,"line_end":1329,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1327:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1327\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1326:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1326\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_toplevel_set_minimized_impl(t: *mut xdg_toplevel) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58296,"byte_end":58321,"line_start":1328,"line_end":1328,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":" f(t as *mut wl_proxy, 13);","highlight_start":5,"highlight_end":30}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1328:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1328\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(t as *mut wl_proxy, 13);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58456,"byte_end":58490,"line_start":1331,"line_end":1331,"column_start":55,"column_end":89,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);","highlight_start":55,"highlight_end":89}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58325,"byte_end":58399,"line_start":1330,"line_end":1330,"column_start":1,"column_end":75,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_set_maximized_impl(t: *mut xdg_toplevel) {","highlight_start":1,"highlight_end":75}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58400,"byte_end":58400,"line_start":1330,"line_end":1330,"column_start":76,"column_end":76,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_set_maximized_impl(t: *mut xdg_toplevel) {","highlight_start":76,"highlight_end":76}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58523,"byte_end":58523,"line_start":1333,"line_end":1333,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1331:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1331\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1330:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_toplevel_set_maximized_impl(t: *mut xdg_toplevel) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58496,"byte_end":58520,"line_start":1332,"line_end":1332,"column_start":5,"column_end":29,"is_primary":true,"text":[{"text":" f(t as *mut wl_proxy, 9);","highlight_start":5,"highlight_end":29}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1332:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1332\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(t as *mut wl_proxy, 9);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58657,"byte_end":58691,"line_start":1335,"line_end":1335,"column_start":55,"column_end":89,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);","highlight_start":55,"highlight_end":89}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58524,"byte_end":58600,"line_start":1334,"line_end":1334,"column_start":1,"column_end":77,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_unset_maximized_impl(t: *mut xdg_toplevel) {","highlight_start":1,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58601,"byte_end":58601,"line_start":1334,"line_end":1334,"column_start":78,"column_end":78,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_unset_maximized_impl(t: *mut xdg_toplevel) {","highlight_start":78,"highlight_end":78}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58725,"byte_end":58725,"line_start":1337,"line_end":1337,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1335:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1335\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1334:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1334\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_toplevel_unset_maximized_impl(t: *mut xdg_toplevel) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58697,"byte_end":58722,"line_start":1336,"line_end":1336,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":" f(t as *mut wl_proxy, 10);","highlight_start":5,"highlight_end":30}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1336:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1336\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(t as *mut wl_proxy, 10);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58917,"byte_end":58951,"line_start":1343,"line_end":1343,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" std::mem::transmute(ctx().marshal);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58726,"byte_end":58836,"line_start":1338,"line_end":1341,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_set_fullscreen_impl(","highlight_start":1,"highlight_end":55},{"text":" t: *mut xdg_toplevel,","highlight_start":1,"highlight_end":26},{"text":" output: *mut wl_output,","highlight_start":1,"highlight_end":28},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58837,"byte_end":58837,"line_start":1341,"line_end":1341,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58993,"byte_end":58993,"line_start":1345,"line_end":1345,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1343:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1343\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1338:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1338\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_toplevel_set_fullscreen_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1339\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m t: *mut xdg_toplevel,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1340\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m output: *mut wl_output,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1341\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58957,"byte_end":58990,"line_start":1344,"line_end":1344,"column_start":5,"column_end":38,"is_primary":true,"text":[{"text":" f(t as *mut wl_proxy, 11, output);","highlight_start":5,"highlight_end":38}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1344:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1344\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(t as *mut wl_proxy, 11, output);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59128,"byte_end":59162,"line_start":1347,"line_end":1347,"column_start":55,"column_end":89,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);","highlight_start":55,"highlight_end":89}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":58994,"byte_end":59071,"line_start":1346,"line_end":1346,"column_start":1,"column_end":78,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_unset_fullscreen_impl(t: *mut xdg_toplevel) {","highlight_start":1,"highlight_end":78}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59072,"byte_end":59072,"line_start":1346,"line_end":1346,"column_start":79,"column_end":79,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_unset_fullscreen_impl(t: *mut xdg_toplevel) {","highlight_start":79,"highlight_end":79}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59196,"byte_end":59196,"line_start":1349,"line_end":1349,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1347:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1347\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1346:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_toplevel_unset_fullscreen_impl(t: *mut xdg_toplevel) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59168,"byte_end":59193,"line_start":1348,"line_end":1348,"column_start":5,"column_end":30,"is_primary":true,"text":[{"text":" f(t as *mut wl_proxy, 12);","highlight_start":5,"highlight_end":30}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1348:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1348\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(t as *mut wl_proxy, 12);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59353,"byte_end":59387,"line_start":1351,"line_end":1351,"column_start":65,"column_end":99,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, i32, i32) = std::mem::transmute(ctx().marshal);","highlight_start":65,"highlight_end":99}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59197,"byte_end":59286,"line_start":1350,"line_end":1350,"column_start":1,"column_end":90,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_set_min_size_impl(t: *mut xdg_toplevel, w: i32, h: i32) {","highlight_start":1,"highlight_end":90}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59287,"byte_end":59287,"line_start":1350,"line_end":1350,"column_start":91,"column_end":91,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_set_min_size_impl(t: *mut xdg_toplevel, w: i32, h: i32) {","highlight_start":91,"highlight_end":91}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59426,"byte_end":59426,"line_start":1353,"line_end":1353,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1351:65\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1351\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, i32, i32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1350:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1350\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_toplevel_set_min_size_impl(t: *mut xdg_toplevel, w: i32, h: i32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59393,"byte_end":59423,"line_start":1352,"line_end":1352,"column_start":5,"column_end":35,"is_primary":true,"text":[{"text":" f(t as *mut wl_proxy, 8, w, h);","highlight_start":5,"highlight_end":35}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1352:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1352\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(t as *mut wl_proxy, 8, w, h);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59583,"byte_end":59617,"line_start":1355,"line_end":1355,"column_start":65,"column_end":99,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, i32, i32) = std::mem::transmute(ctx().marshal);","highlight_start":65,"highlight_end":99}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59427,"byte_end":59516,"line_start":1354,"line_end":1354,"column_start":1,"column_end":90,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_set_max_size_impl(t: *mut xdg_toplevel, w: i32, h: i32) {","highlight_start":1,"highlight_end":90}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59517,"byte_end":59517,"line_start":1354,"line_end":1354,"column_start":91,"column_end":91,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_set_max_size_impl(t: *mut xdg_toplevel, w: i32, h: i32) {","highlight_start":91,"highlight_end":91}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59656,"byte_end":59656,"line_start":1357,"line_end":1357,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1355:65\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1355\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, i32, i32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1354:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1354\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_toplevel_set_max_size_impl(t: *mut xdg_toplevel, w: i32, h: i32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59623,"byte_end":59653,"line_start":1356,"line_end":1356,"column_start":5,"column_end":35,"is_primary":true,"text":[{"text":" f(t as *mut wl_proxy, 7, w, h);","highlight_start":5,"highlight_end":35}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1356:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1356\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(t as *mut wl_proxy, 7, w, h);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59839,"byte_end":59873,"line_start":1360,"line_end":1360,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" std::mem::transmute(ctx().marshal);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59657,"byte_end":59755,"line_start":1358,"line_end":1358,"column_start":1,"column_end":99,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_move_impl(t: *mut xdg_toplevel, seat: *mut wl_seat, serial: u32) {","highlight_start":1,"highlight_end":99}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59756,"byte_end":59756,"line_start":1358,"line_end":1358,"column_start":100,"column_end":100,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_move_impl(t: *mut xdg_toplevel, seat: *mut wl_seat, serial: u32) {","highlight_start":100,"highlight_end":100}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59920,"byte_end":59920,"line_start":1362,"line_end":1362,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1360:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1360\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1358:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_toplevel_move_impl(t: *mut xdg_toplevel, seat: *mut wl_seat, serial: u32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59879,"byte_end":59917,"line_start":1361,"line_end":1361,"column_start":5,"column_end":43,"is_primary":true,"text":[{"text":" f(t as *mut wl_proxy, 5, seat, serial);","highlight_start":5,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1361:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1361\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(t as *mut wl_proxy, 5, seat, serial);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60206,"byte_end":60240,"line_start":1371,"line_end":1371,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" std::mem::transmute(ctx().marshal);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":59921,"byte_end":60052,"line_start":1363,"line_end":1368,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_toplevel_resize_impl(","highlight_start":1,"highlight_end":47},{"text":" t: *mut xdg_toplevel,","highlight_start":1,"highlight_end":26},{"text":" seat: *mut wl_seat,","highlight_start":1,"highlight_end":24},{"text":" serial: u32,","highlight_start":1,"highlight_end":17},{"text":" edges: u32,","highlight_start":1,"highlight_end":16},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60053,"byte_end":60053,"line_start":1368,"line_end":1368,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60294,"byte_end":60294,"line_start":1373,"line_end":1373,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1371:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1371\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1363:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_toplevel_resize_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1364\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m t: *mut xdg_toplevel,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1365\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat: *mut wl_seat,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1366\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m serial: u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1367\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m edges: u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1368\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60246,"byte_end":60291,"line_start":1372,"line_end":1372,"column_start":5,"column_end":50,"is_primary":true,"text":[{"text":" f(t as *mut wl_proxy, 6, seat, serial, edges);","highlight_start":5,"highlight_end":50}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1372:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1372\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(t as *mut wl_proxy, 6, seat, serial, edges);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60451,"byte_end":60485,"line_start":1375,"line_end":1375,"column_start":65,"column_end":99,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, i32, i32) = std::mem::transmute(ctx().marshal);","highlight_start":65,"highlight_end":99}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60295,"byte_end":60384,"line_start":1374,"line_end":1374,"column_start":1,"column_end":90,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_positioner_set_size_impl(p: *mut xdg_positioner, w: i32, h: i32) {","highlight_start":1,"highlight_end":90}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60385,"byte_end":60385,"line_start":1374,"line_end":1374,"column_start":91,"column_end":91,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_positioner_set_size_impl(p: *mut xdg_positioner, w: i32, h: i32) {","highlight_start":91,"highlight_end":91}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60524,"byte_end":60524,"line_start":1377,"line_end":1377,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1375:65\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1375\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, i32, i32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1374:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1374\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_positioner_set_size_impl(p: *mut xdg_positioner, w: i32, h: i32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60491,"byte_end":60521,"line_start":1376,"line_end":1376,"column_start":5,"column_end":35,"is_primary":true,"text":[{"text":" f(p as *mut wl_proxy, 1, w, h);","highlight_start":5,"highlight_end":35}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1376:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1376\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(p as *mut wl_proxy, 1, w, h);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60745,"byte_end":60779,"line_start":1386,"line_end":1386,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" std::mem::transmute(ctx().marshal);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60525,"byte_end":60660,"line_start":1378,"line_end":1384,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_positioner_set_anchor_rect_impl(","highlight_start":1,"highlight_end":58},{"text":" p: *mut xdg_positioner,","highlight_start":1,"highlight_end":28},{"text":" x: i32,","highlight_start":1,"highlight_end":12},{"text":" y: i32,","highlight_start":1,"highlight_end":12},{"text":" w: i32,","highlight_start":1,"highlight_end":12},{"text":" h: i32,","highlight_start":1,"highlight_end":12},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60661,"byte_end":60661,"line_start":1384,"line_end":1384,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60824,"byte_end":60824,"line_start":1388,"line_end":1388,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1386:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1386\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1378:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1378\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_positioner_set_anchor_rect_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1379\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m p: *mut xdg_positioner,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1380\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m x: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1381\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m y: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1382\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m w: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1383\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m h: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1384\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60785,"byte_end":60821,"line_start":1387,"line_end":1387,"column_start":5,"column_end":41,"is_primary":true,"text":[{"text":" f(p as *mut wl_proxy, 2, x, y, w, h);","highlight_start":5,"highlight_end":41}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1387:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1387\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(p as *mut wl_proxy, 2, x, y, w, h);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60975,"byte_end":61009,"line_start":1390,"line_end":1390,"column_start":60,"column_end":94,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, u32) = std::mem::transmute(ctx().marshal);","highlight_start":60,"highlight_end":94}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60825,"byte_end":60913,"line_start":1389,"line_end":1389,"column_start":1,"column_end":89,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_positioner_set_anchor_impl(p: *mut xdg_positioner, anchor: u32) {","highlight_start":1,"highlight_end":89}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":60914,"byte_end":60914,"line_start":1389,"line_end":1389,"column_start":90,"column_end":90,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_positioner_set_anchor_impl(p: *mut xdg_positioner, anchor: u32) {","highlight_start":90,"highlight_end":90}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61050,"byte_end":61050,"line_start":1392,"line_end":1392,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1390:60\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1390\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1389:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1389\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_positioner_set_anchor_impl(p: *mut xdg_positioner, anchor: u32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61015,"byte_end":61047,"line_start":1391,"line_end":1391,"column_start":5,"column_end":37,"is_primary":true,"text":[{"text":" f(p as *mut wl_proxy, 3, anchor);","highlight_start":5,"highlight_end":37}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1391:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1391\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(p as *mut wl_proxy, 3, anchor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61203,"byte_end":61237,"line_start":1394,"line_end":1394,"column_start":60,"column_end":94,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, u32) = std::mem::transmute(ctx().marshal);","highlight_start":60,"highlight_end":94}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61051,"byte_end":61141,"line_start":1393,"line_end":1393,"column_start":1,"column_end":91,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_positioner_set_gravity_impl(p: *mut xdg_positioner, gravity: u32) {","highlight_start":1,"highlight_end":91}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61142,"byte_end":61142,"line_start":1393,"line_end":1393,"column_start":92,"column_end":92,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_positioner_set_gravity_impl(p: *mut xdg_positioner, gravity: u32) {","highlight_start":92,"highlight_end":92}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61279,"byte_end":61279,"line_start":1396,"line_end":1396,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1394:60\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1394\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1393:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_positioner_set_gravity_impl(p: *mut xdg_positioner, gravity: u32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61243,"byte_end":61276,"line_start":1395,"line_end":1395,"column_start":5,"column_end":38,"is_primary":true,"text":[{"text":" f(p as *mut wl_proxy, 4, gravity);","highlight_start":5,"highlight_end":38}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1395:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1395\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(p as *mut wl_proxy, 4, gravity);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61453,"byte_end":61487,"line_start":1401,"line_end":1401,"column_start":60,"column_end":94,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, u32) = std::mem::transmute(ctx().marshal);","highlight_start":60,"highlight_end":94}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61280,"byte_end":61391,"line_start":1397,"line_end":1400,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_positioner_set_constraint_adjustment_impl(","highlight_start":1,"highlight_end":68},{"text":" p: *mut xdg_positioner,","highlight_start":1,"highlight_end":28},{"text":" adj: u32,","highlight_start":1,"highlight_end":14},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61392,"byte_end":61392,"line_start":1400,"line_end":1400,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61525,"byte_end":61525,"line_start":1403,"line_end":1403,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1401:60\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1401\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1397:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1397\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_positioner_set_constraint_adjustment_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1398\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m p: *mut xdg_positioner,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1399\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m adj: u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1400\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61493,"byte_end":61522,"line_start":1402,"line_end":1402,"column_start":5,"column_end":34,"is_primary":true,"text":[{"text":" f(p as *mut wl_proxy, 5, adj);","highlight_start":5,"highlight_end":34}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1402:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1402\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(p as *mut wl_proxy, 5, adj);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61655,"byte_end":61689,"line_start":1405,"line_end":1405,"column_start":55,"column_end":89,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);","highlight_start":55,"highlight_end":89}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61526,"byte_end":61598,"line_start":1404,"line_end":1404,"column_start":1,"column_end":73,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_positioner_destroy_impl(p: *mut xdg_positioner) {","highlight_start":1,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61599,"byte_end":61599,"line_start":1404,"line_end":1404,"column_start":74,"column_end":74,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_positioner_destroy_impl(p: *mut xdg_positioner) {","highlight_start":74,"highlight_end":74}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61775,"byte_end":61775,"line_start":1408,"line_end":1408,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1405:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1405\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1404:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1404\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_positioner_destroy_impl(p: *mut xdg_positioner) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61695,"byte_end":61719,"line_start":1406,"line_end":1406,"column_start":5,"column_end":29,"is_primary":true,"text":[{"text":" f(p as *mut wl_proxy, 0);","highlight_start":5,"highlight_end":29}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1406:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(p as *mut wl_proxy, 0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::dlopen::destroy_proxy_after_request` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61725,"byte_end":61772,"line_start":1407,"line_end":1407,"column_start":5,"column_end":52,"is_primary":true,"text":[{"text":" destroy_proxy_after_request(p as *mut wl_proxy);","highlight_start":5,"highlight_end":52}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::dlopen::destroy_proxy_after_request` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1407:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1407\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m destroy_proxy_after_request(p as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61956,"byte_end":61990,"line_start":1411,"line_end":1411,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" std::mem::transmute(ctx().marshal);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61776,"byte_end":61872,"line_start":1409,"line_end":1409,"column_start":1,"column_end":97,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_popup_grab_impl(popup: *mut xdg_popup, seat: *mut wl_seat, serial: u32) {","highlight_start":1,"highlight_end":97}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61873,"byte_end":61873,"line_start":1409,"line_end":1409,"column_start":98,"column_end":98,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_popup_grab_impl(popup: *mut xdg_popup, seat: *mut wl_seat, serial: u32) {","highlight_start":98,"highlight_end":98}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62041,"byte_end":62041,"line_start":1413,"line_end":1413,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1411:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1411\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1409:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_popup_grab_impl(popup: *mut xdg_popup, seat: *mut wl_seat, serial: u32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":61996,"byte_end":62038,"line_start":1412,"line_end":1412,"column_start":5,"column_end":47,"is_primary":true,"text":[{"text":" f(popup as *mut wl_proxy, 1, seat, serial);","highlight_start":5,"highlight_end":47}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1412:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(popup as *mut wl_proxy, 1, seat, serial);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62165,"byte_end":62199,"line_start":1415,"line_end":1415,"column_start":55,"column_end":89,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);","highlight_start":55,"highlight_end":89}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62042,"byte_end":62108,"line_start":1414,"line_end":1414,"column_start":1,"column_end":67,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_popup_destroy_impl(popup: *mut xdg_popup) {","highlight_start":1,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62109,"byte_end":62109,"line_start":1414,"line_end":1414,"column_start":68,"column_end":68,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn xdg_popup_destroy_impl(popup: *mut xdg_popup) {","highlight_start":68,"highlight_end":68}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62293,"byte_end":62293,"line_start":1418,"line_end":1418,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1415:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1415\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1414:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn xdg_popup_destroy_impl(popup: *mut xdg_popup) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62205,"byte_end":62233,"line_start":1416,"line_end":1416,"column_start":5,"column_end":33,"is_primary":true,"text":[{"text":" f(popup as *mut wl_proxy, 0);","highlight_start":5,"highlight_end":33}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1416:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1416\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(popup as *mut wl_proxy, 0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::dlopen::destroy_proxy_after_request` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62239,"byte_end":62290,"line_start":1417,"line_end":1417,"column_start":5,"column_end":56,"is_primary":true,"text":[{"text":" destroy_proxy_after_request(popup as *mut wl_proxy);","highlight_start":5,"highlight_end":56}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::dlopen::destroy_proxy_after_request` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1417:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1417\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m destroy_proxy_after_request(popup as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62413,"byte_end":62447,"line_start":1420,"line_end":1420,"column_start":55,"column_end":89,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);","highlight_start":55,"highlight_end":89}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62294,"byte_end":62356,"line_start":1419,"line_end":1419,"column_start":1,"column_end":63,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_buffer_destroy_impl(b: *mut wl_buffer) {","highlight_start":1,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62357,"byte_end":62357,"line_start":1419,"line_end":1419,"column_start":64,"column_end":64,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_buffer_destroy_impl(b: *mut wl_buffer) {","highlight_start":64,"highlight_end":64}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62533,"byte_end":62533,"line_start":1423,"line_end":1423,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1420:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1420\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1419:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1419\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_buffer_destroy_impl(b: *mut wl_buffer) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62453,"byte_end":62477,"line_start":1421,"line_end":1421,"column_start":5,"column_end":29,"is_primary":true,"text":[{"text":" f(b as *mut wl_proxy, 0);","highlight_start":5,"highlight_end":29}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1421:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1421\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(b as *mut wl_proxy, 0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::dlopen::destroy_proxy_after_request` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62483,"byte_end":62530,"line_start":1422,"line_end":1422,"column_start":5,"column_end":52,"is_primary":true,"text":[{"text":" destroy_proxy_after_request(b as *mut wl_proxy);","highlight_start":5,"highlight_end":52}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::dlopen::destroy_proxy_after_request` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1422:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1422\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m destroy_proxy_after_request(b as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62660,"byte_end":62694,"line_start":1425,"line_end":1425,"column_start":55,"column_end":89,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);","highlight_start":55,"highlight_end":89}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62534,"byte_end":62603,"line_start":1424,"line_end":1424,"column_start":1,"column_end":70,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_shm_pool_destroy_impl(pool: *mut wl_shm_pool) {","highlight_start":1,"highlight_end":70}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62604,"byte_end":62604,"line_start":1424,"line_end":1424,"column_start":71,"column_end":71,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_shm_pool_destroy_impl(pool: *mut wl_shm_pool) {","highlight_start":71,"highlight_end":71}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62786,"byte_end":62786,"line_start":1428,"line_end":1428,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1425:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1425\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1424:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1424\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_shm_pool_destroy_impl(pool: *mut wl_shm_pool) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62700,"byte_end":62727,"line_start":1426,"line_end":1426,"column_start":5,"column_end":32,"is_primary":true,"text":[{"text":" f(pool as *mut wl_proxy, 1);","highlight_start":5,"highlight_end":32}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1426:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1426\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(pool as *mut wl_proxy, 1);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::dlopen::destroy_proxy_after_request` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62733,"byte_end":62783,"line_start":1427,"line_end":1427,"column_start":5,"column_end":55,"is_primary":true,"text":[{"text":" destroy_proxy_after_request(pool as *mut wl_proxy);","highlight_start":5,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::dlopen::destroy_proxy_after_request` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1427:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1427\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m destroy_proxy_after_request(pool as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62906,"byte_end":62940,"line_start":1430,"line_end":1430,"column_start":55,"column_end":89,"is_primary":true,"text":[{"text":" let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);","highlight_start":55,"highlight_end":89}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62787,"byte_end":62849,"line_start":1429,"line_end":1429,"column_start":1,"column_end":63,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_region_destroy_impl(r: *mut wl_region) {","highlight_start":1,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62850,"byte_end":62850,"line_start":1429,"line_end":1429,"column_start":64,"column_end":64,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_region_destroy_impl(r: *mut wl_region) {","highlight_start":64,"highlight_end":64}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":63026,"byte_end":63026,"line_start":1433,"line_end":1433,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1430:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1430\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: unsafe extern \"C\" fn(*mut wl_proxy, u32) = std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1429:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1429\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_region_destroy_impl(r: *mut wl_region) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62946,"byte_end":62970,"line_start":1431,"line_end":1431,"column_start":5,"column_end":29,"is_primary":true,"text":[{"text":" f(r as *mut wl_proxy, 0);","highlight_start":5,"highlight_end":29}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1431:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1431\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(r as *mut wl_proxy, 0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::dlopen::destroy_proxy_after_request` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":62976,"byte_end":63023,"line_start":1432,"line_end":1432,"column_start":5,"column_end":52,"is_primary":true,"text":[{"text":" destroy_proxy_after_request(r as *mut wl_proxy);","highlight_start":5,"highlight_end":52}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::dlopen::destroy_proxy_after_request` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1432:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1432\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m destroy_proxy_after_request(r as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":63202,"byte_end":63236,"line_start":1436,"line_end":1436,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" std::mem::transmute(ctx().marshal);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":63027,"byte_end":63117,"line_start":1434,"line_end":1434,"column_start":1,"column_end":91,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_region_add_impl(r: *mut wl_region, x: i32, y: i32, w: i32, h: i32) {","highlight_start":1,"highlight_end":91}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":63118,"byte_end":63118,"line_start":1434,"line_end":1434,"column_start":92,"column_end":92,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_region_add_impl(r: *mut wl_region, x: i32, y: i32, w: i32, h: i32) {","highlight_start":92,"highlight_end":92}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":63281,"byte_end":63281,"line_start":1438,"line_end":1438,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1436:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1436\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1434:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1434\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_region_add_impl(r: *mut wl_region, x: i32, y: i32, w: i32, h: i32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":63242,"byte_end":63278,"line_start":1437,"line_end":1437,"column_start":5,"column_end":41,"is_primary":true,"text":[{"text":" f(r as *mut wl_proxy, 1, x, y, w, h);","highlight_start":5,"highlight_end":41}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1437:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1437\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(r as *mut wl_proxy, 1, x, y, w, h);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":63532,"byte_end":63566,"line_start":1447,"line_end":1447,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" std::mem::transmute(ctx().marshal);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":63282,"byte_end":63435,"line_start":1439,"line_end":1445,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn wl_pointer_set_cursor_impl(","highlight_start":1,"highlight_end":49},{"text":" pointer: *mut wl_pointer,","highlight_start":1,"highlight_end":30},{"text":" serial: u32,","highlight_start":1,"highlight_end":17},{"text":" surface: *mut wl_surface,","highlight_start":1,"highlight_end":30},{"text":" hx: i32,","highlight_start":1,"highlight_end":13},{"text":" hy: i32,","highlight_start":1,"highlight_end":13},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":63436,"byte_end":63436,"line_start":1445,"line_end":1445,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":63630,"byte_end":63630,"line_start":1449,"line_end":1449,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1447:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1447\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(ctx().marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1439:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1439\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn wl_pointer_set_cursor_impl(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1440\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pointer: *mut wl_pointer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1441\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m serial: u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1442\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m surface: *mut wl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1443\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m hx: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1444\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m hy: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1445\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/dlopen.rs","byte_start":63572,"byte_end":63627,"line_start":1448,"line_end":1448,"column_start":5,"column_end":60,"is_primary":true,"text":[{"text":" f(pointer as *mut wl_proxy, 0, serial, surface, hx, hy);","highlight_start":5,"highlight_end":60}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/dlopen.rs:1448:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1448\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(pointer as *mut wl_proxy, 0, serial, surface, hx, hy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::events::try_init_seat_tablets` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":50507,"byte_end":50542,"line_start":1217,"line_end":1217,"column_start":5,"column_end":40,"is_primary":true,"text":[{"text":" try_init_seat_tablets(window, data);","highlight_start":5,"highlight_end":40}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":50275,"byte_end":50358,"line_start":1214,"line_end":1214,"column_start":1,"column_end":84,"is_primary":true,"text":[{"text":"pub(super) unsafe fn try_init_tablet(window: &mut WaylandWindow, data: *mut c_void) {","highlight_start":1,"highlight_end":84}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":50359,"byte_end":50359,"line_start":1214,"line_end":1214,"column_start":85,"column_end":85,"is_primary":true,"text":[{"text":"pub(super) unsafe fn try_init_tablet(window: &mut WaylandWindow, data: *mut c_void) {","highlight_start":85,"highlight_end":85}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":50972,"byte_end":50972,"line_start":1227,"line_end":1227,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::events::try_init_seat_tablets` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1217:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1217\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m try_init_seat_tablets(window, data);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1214:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1214\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub(super) unsafe fn try_init_tablet(window: &mut WaylandWindow, data: *mut c_void) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":50684,"byte_end":50774,"line_start":1222,"line_end":1222,"column_start":9,"column_end":99,"is_primary":true,"text":[{"text":" (window.wayland.zwp_tablet_manager_v2_get_tablet_seat)(window.tablet_manager, window.seat);","highlight_start":9,"highlight_end":99}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1222:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1222\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.zwp_tablet_manager_v2_get_tablet_seat)(window.tablet_manager, window.seat);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":50811,"byte_end":50898,"line_start":1224,"line_end":1224,"column_start":5,"column_end":92,"is_primary":true,"text":[{"text":" (window.wayland.zwp_tablet_seat_v2_add_listener)(seat, &ZWP_TABLET_SEAT_LISTENER, data);","highlight_start":5,"highlight_end":92}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1224:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1224\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.zwp_tablet_seat_v2_add_listener)(seat, &ZWP_TABLET_SEAT_LISTENER, data);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":51523,"byte_end":51586,"line_start":1239,"line_end":1239,"column_start":19,"column_end":82,"is_primary":true,"text":[{"text":" let version = (window.wayland.wl_proxy_get_version)(manager as *mut wl_proxy);","highlight_start":19,"highlight_end":82}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":51272,"byte_end":51431,"line_start":1233,"line_end":1237,"column_start":1,"column_end":28,"is_primary":true,"text":[{"text":"unsafe fn get_text_input_for_seat(","highlight_start":1,"highlight_end":35},{"text":" window: &WaylandWindow,","highlight_start":1,"highlight_end":28},{"text":" manager: *mut zwp_text_input_manager_v3,","highlight_start":1,"highlight_end":45},{"text":" seat: *mut wl_seat,","highlight_start":1,"highlight_end":24},{"text":") -> *mut zwp_text_input_v3 {","highlight_start":1,"highlight_end":28}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":51432,"byte_end":51432,"line_start":1237,"line_end":1237,"column_start":29,"column_end":29,"is_primary":true,"text":[{"text":") -> *mut zwp_text_input_v3 {","highlight_start":29,"highlight_end":29}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":52804,"byte_end":52804,"line_start":1277,"line_end":1277,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1239:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1239\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let version = (window.wayland.wl_proxy_get_version)(manager as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1233:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1233\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn get_text_input_for_seat(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1234\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: &WaylandWindow,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1235\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m manager: *mut zwp_text_input_manager_v3,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1236\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat: *mut wl_seat,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1237\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> *mut zwp_text_input_v3 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|___________________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":51918,"byte_end":51976,"line_start":1250,"line_end":1250,"column_start":27,"column_end":85,"is_primary":true,"text":[{"text":" let f: GetFlags = std::mem::transmute(window.wayland.wl_proxy_marshal_flags);","highlight_start":27,"highlight_end":85}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1250:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1250\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: GetFlags = std::mem::transmute(window.wayland.wl_proxy_marshal_flags);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":51986,"byte_end":52221,"line_start":1251,"line_end":1259,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" f(","highlight_start":9,"highlight_end":11},{"text":" manager as *mut wl_proxy,","highlight_start":1,"highlight_end":38},{"text":" defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,","highlight_start":1,"highlight_end":63},{"text":" text_input_interface,","highlight_start":1,"highlight_end":34},{"text":" version,","highlight_start":1,"highlight_end":21},{"text":" 0,","highlight_start":1,"highlight_end":15},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":34},{"text":" seat,","highlight_start":1,"highlight_end":18},{"text":" ) as *mut zwp_text_input_v3","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1251:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1251\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1252\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m manager as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1253\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1254\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1258\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1259\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut zwp_text_input_v3\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":52497,"byte_end":52561,"line_start":1268,"line_end":1268,"column_start":26,"column_end":90,"is_primary":true,"text":[{"text":" let f: GetCtor = std::mem::transmute(window.wayland.wl_proxy_marshal_constructor);","highlight_start":26,"highlight_end":90}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1268:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1268\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: GetCtor = std::mem::transmute(window.wayland.wl_proxy_marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":52571,"byte_end":52770,"line_start":1269,"line_end":1275,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" f(","highlight_start":9,"highlight_end":11},{"text":" manager as *mut wl_proxy,","highlight_start":1,"highlight_end":38},{"text":" defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,","highlight_start":1,"highlight_end":63},{"text":" text_input_interface,","highlight_start":1,"highlight_end":34},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":34},{"text":" seat,","highlight_start":1,"highlight_end":18},{"text":" ) as *mut zwp_text_input_v3","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1269:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1269\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1270\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m manager as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1271\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_TEXT_INPUT_MANAGER_V3_GET_TEXT_INPUT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1272\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input_interface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1273\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1275\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) as *mut zwp_text_input_v3\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::events::get_text_input_for_seat` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":53660,"byte_end":53709,"line_start":1297,"line_end":1297,"column_start":26,"column_end":75,"is_primary":true,"text":[{"text":" let text_input = get_text_input_for_seat(window, manager, wl_seat);","highlight_start":26,"highlight_end":75}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":53018,"byte_end":53111,"line_start":1282,"line_end":1282,"column_start":1,"column_end":94,"is_primary":true,"text":[{"text":"pub(super) unsafe fn try_init_seat_text_inputs(window: &mut WaylandWindow, data: *mut c_void) {","highlight_start":1,"highlight_end":94}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":53112,"byte_end":53112,"line_start":1282,"line_end":1282,"column_start":95,"column_end":95,"is_primary":true,"text":[{"text":"pub(super) unsafe fn try_init_seat_text_inputs(window: &mut WaylandWindow, data: *mut c_void) {","highlight_start":95,"highlight_end":95}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":54076,"byte_end":54076,"line_start":1309,"line_end":1309,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::events::get_text_input_for_seat` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1297:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1297\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let text_input = get_text_input_for_seat(window, manager, wl_seat);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1282:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1282\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub(super) unsafe fn try_init_seat_text_inputs(window: &mut WaylandWindow, data: *mut c_void) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":53785,"byte_end":53963,"line_start":1301,"line_end":1305,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" (window.wayland.wl_proxy_add_listener)(","highlight_start":9,"highlight_end":48},{"text":" text_input as *mut wl_proxy,","highlight_start":1,"highlight_end":41},{"text":" &ZWP_TEXT_INPUT_V3_LISTENER as *const _ as *const c_void,","highlight_start":1,"highlight_end":70},{"text":" data,","highlight_start":1,"highlight_end":18},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1301:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1301\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.wl_proxy_add_listener)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1302\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m text_input as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1303\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &ZWP_TEXT_INPUT_V3_LISTENER as *const _ as *const c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1304\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1305\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":54713,"byte_end":54799,"line_start":1327,"line_end":1327,"column_start":13,"column_end":99,"is_primary":true,"text":[{"text":" (window.wayland.zwp_tablet_manager_v2_get_tablet_seat)(window.tablet_manager, wl_seat);","highlight_start":13,"highlight_end":99}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":54078,"byte_end":54167,"line_start":1311,"line_end":1311,"column_start":1,"column_end":90,"is_primary":true,"text":[{"text":"pub(super) unsafe fn try_init_seat_tablets(window: &mut WaylandWindow, data: *mut c_void) {","highlight_start":1,"highlight_end":90}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":54168,"byte_end":54168,"line_start":1311,"line_end":1311,"column_start":91,"column_end":91,"is_primary":true,"text":[{"text":"pub(super) unsafe fn try_init_seat_tablets(window: &mut WaylandWindow, data: *mut c_void) {","highlight_start":91,"highlight_end":91}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":55133,"byte_end":55133,"line_start":1339,"line_end":1339,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1327:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1327\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.zwp_tablet_manager_v2_get_tablet_seat)(window.tablet_manager, wl_seat);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1311:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1311\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub(super) unsafe fn try_init_seat_tablets(window: &mut WaylandWindow, data: *mut c_void) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":54876,"byte_end":55017,"line_start":1331,"line_end":1335,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" (window.wayland.zwp_tablet_seat_v2_add_listener)(","highlight_start":9,"highlight_end":58},{"text":" tablet_seat,","highlight_start":1,"highlight_end":25},{"text":" &ZWP_TABLET_SEAT_LISTENER,","highlight_start":1,"highlight_end":39},{"text":" data,","highlight_start":1,"highlight_end":18},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:1331:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1331\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.zwp_tablet_seat_v2_add_listener)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1332\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m tablet_seat,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1333\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &ZWP_TABLET_SEAT_LISTENER,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1334\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1335\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":84952,"byte_end":85071,"line_start":2057,"line_end":2060,"column_start":15,"column_end":6,"is_primary":true,"text":[{"text":" let dev = (window.wayland.wl_data_device_manager_get_data_device)(","highlight_start":15,"highlight_end":71},{"text":" window.data_device_manager,","highlight_start":1,"highlight_end":36},{"text":" window.seat,","highlight_start":1,"highlight_end":21},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":84700,"byte_end":84788,"line_start":2050,"line_end":2050,"column_start":1,"column_end":89,"is_primary":true,"text":[{"text":"pub(super) unsafe fn try_init_data_device(window: &mut WaylandWindow, data: *mut c_void) {","highlight_start":1,"highlight_end":89}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":84789,"byte_end":84789,"line_start":2050,"line_end":2050,"column_start":90,"column_end":90,"is_primary":true,"text":[{"text":"pub(super) unsafe fn try_init_data_device(window: &mut WaylandWindow, data: *mut c_void) {","highlight_start":90,"highlight_end":90}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":85266,"byte_end":85266,"line_start":2065,"line_end":2065,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2057:15\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2057\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let dev = (window.wayland.wl_data_device_manager_get_data_device)(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m _______________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2058\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window.data_device_manager,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2059\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window.seat,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2060\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2050:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2050\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub(super) unsafe fn try_init_data_device(window: &mut WaylandWindow, data: *mut c_void) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":85107,"byte_end":85188,"line_start":2062,"line_end":2062,"column_start":5,"column_end":86,"is_primary":true,"text":[{"text":" (window.wayland.wl_data_device_add_listener)(dev, &WL_DATA_DEVICE_LISTENER, data);","highlight_start":5,"highlight_end":86}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2062:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2062\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.wl_data_device_add_listener)(dev, &WL_DATA_DEVICE_LISTENER, data);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::events::destroy_data_offer_raw` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":88442,"byte_end":88589,"line_start":2133,"line_end":2137,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" destroy_data_offer_raw(","highlight_start":5,"highlight_end":28},{"text":" std::mem::transmute(window.wayland.wl_proxy_marshal),","highlight_start":1,"highlight_end":62},{"text":" window.wayland.wl_proxy_destroy,","highlight_start":1,"highlight_end":41},{"text":" offer,","highlight_start":1,"highlight_end":15},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":88356,"byte_end":88435,"line_start":2132,"line_end":2132,"column_start":1,"column_end":80,"is_primary":true,"text":[{"text":"unsafe fn destroy_data_offer(window: &WaylandWindow, offer: *mut wl_data_offer) {","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":88436,"byte_end":88436,"line_start":2132,"line_end":2132,"column_start":81,"column_end":81,"is_primary":true,"text":[{"text":"unsafe fn destroy_data_offer(window: &WaylandWindow, offer: *mut wl_data_offer) {","highlight_start":81,"highlight_end":81}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":88592,"byte_end":88592,"line_start":2138,"line_end":2138,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::events::destroy_data_offer_raw` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2133:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2133\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m destroy_data_offer_raw(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2134\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(window.wayland.wl_proxy_marshal),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2135\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window.wayland.wl_proxy_destroy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2136\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m offer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2137\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2132:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2132\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn destroy_data_offer(window: &WaylandWindow, offer: *mut wl_data_offer) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":88474,"byte_end":88526,"line_start":2134,"line_end":2134,"column_start":9,"column_end":61,"is_primary":true,"text":[{"text":" std::mem::transmute(window.wayland.wl_proxy_marshal),","highlight_start":9,"highlight_end":61}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2134:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2134\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(window.wayland.wl_proxy_marshal),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::events::destroy_data_offer` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":88781,"byte_end":88814,"line_start":2145,"line_end":2145,"column_start":5,"column_end":38,"is_primary":true,"text":[{"text":" destroy_data_offer(window, offer);","highlight_start":5,"highlight_end":38}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":88660,"byte_end":88774,"line_start":2141,"line_end":2144,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"pub(super) unsafe fn destroy_data_offer_for_teardown(","highlight_start":1,"highlight_end":54},{"text":" window: &WaylandWindow,","highlight_start":1,"highlight_end":28},{"text":" offer: *mut wl_data_offer,","highlight_start":1,"highlight_end":31},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":88775,"byte_end":88775,"line_start":2144,"line_end":2144,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":88817,"byte_end":88817,"line_start":2146,"line_end":2146,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::events::destroy_data_offer` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2145:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2145\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m destroy_data_offer(window, offer);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2141:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2141\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub(super) unsafe fn destroy_data_offer_for_teardown(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2142\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: &WaylandWindow,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2143\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m offer: *mut wl_data_offer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2144\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":89250,"byte_end":89284,"line_start":2159,"line_end":2159,"column_start":5,"column_end":39,"is_primary":true,"text":[{"text":" marshal(offer as *mut wl_proxy, 2);","highlight_start":5,"highlight_end":39}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":88965,"byte_end":89142,"line_start":2150,"line_end":2154,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe fn destroy_data_offer_raw(","highlight_start":1,"highlight_end":34},{"text":" marshal: unsafe extern \"C\" fn(*mut wl_proxy, u32),","highlight_start":1,"highlight_end":55},{"text":" proxy_destroy: unsafe extern \"C\" fn(*mut wl_proxy),","highlight_start":1,"highlight_end":56},{"text":" offer: *mut wl_data_offer,","highlight_start":1,"highlight_end":31},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":89143,"byte_end":89143,"line_start":2154,"line_end":2154,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":89330,"byte_end":89330,"line_start":2161,"line_end":2161,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2159:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2159\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m marshal(offer as *mut wl_proxy, 2);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2150:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2150\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn destroy_data_offer_raw(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2151\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m marshal: unsafe extern \"C\" fn(*mut wl_proxy, u32),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2152\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m proxy_destroy: unsafe extern \"C\" fn(*mut wl_proxy),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2153\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m offer: *mut wl_data_offer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2154\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":89290,"byte_end":89327,"line_start":2160,"line_end":2160,"column_start":5,"column_end":42,"is_primary":true,"text":[{"text":" proxy_destroy(offer as *mut wl_proxy);","highlight_start":5,"highlight_end":42}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2160:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2160\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m proxy_destroy(offer as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":89656,"byte_end":89708,"line_start":2167,"line_end":2167,"column_start":9,"column_end":61,"is_primary":true,"text":[{"text":" std::mem::transmute(window.wayland.wl_proxy_marshal);","highlight_start":9,"highlight_end":61}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":89417,"byte_end":89508,"line_start":2164,"line_end":2164,"column_start":1,"column_end":92,"is_primary":true,"text":[{"text":"unsafe fn data_offer_accept(window: &WaylandWindow, offer: *mut wl_data_offer, serial: u32) {","highlight_start":1,"highlight_end":92}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":89509,"byte_end":89509,"line_start":2164,"line_end":2164,"column_start":93,"column_end":93,"is_primary":true,"text":[{"text":"unsafe fn data_offer_accept(window: &WaylandWindow, offer: *mut wl_data_offer, serial: u32) {","highlight_start":93,"highlight_end":93}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":89768,"byte_end":89768,"line_start":2169,"line_end":2169,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2167:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2167\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(window.wayland.wl_proxy_marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2164:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2164\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn data_offer_accept(window: &WaylandWindow, offer: *mut wl_data_offer, serial: u32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":89714,"byte_end":89765,"line_start":2168,"line_end":2168,"column_start":5,"column_end":56,"is_primary":true,"text":[{"text":" f(offer as *mut wl_proxy, 0, serial, mime.as_ptr());","highlight_start":5,"highlight_end":56}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2168:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2168\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(offer as *mut wl_proxy, 0, serial, mime.as_ptr());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":90074,"byte_end":90126,"line_start":2177,"line_end":2177,"column_start":9,"column_end":61,"is_primary":true,"text":[{"text":" std::mem::transmute(window.wayland.wl_proxy_marshal);","highlight_start":9,"highlight_end":61}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":89854,"byte_end":89937,"line_start":2172,"line_end":2172,"column_start":1,"column_end":84,"is_primary":true,"text":[{"text":"unsafe fn data_offer_set_actions(window: &WaylandWindow, offer: *mut wl_data_offer) {","highlight_start":1,"highlight_end":84}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":89938,"byte_end":89938,"line_start":2172,"line_end":2172,"column_start":85,"column_end":85,"is_primary":true,"text":[{"text":"unsafe fn data_offer_set_actions(window: &WaylandWindow, offer: *mut wl_data_offer) {","highlight_start":85,"highlight_end":85}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":90282,"byte_end":90282,"line_start":2184,"line_end":2184,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2177:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2177\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(window.wayland.wl_proxy_marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2172:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2172\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn data_offer_set_actions(window: &WaylandWindow, offer: *mut wl_data_offer) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":90132,"byte_end":90279,"line_start":2178,"line_end":2183,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" f(","highlight_start":5,"highlight_end":7},{"text":" offer as *mut wl_proxy,","highlight_start":1,"highlight_end":32},{"text":" 4,","highlight_start":1,"highlight_end":11},{"text":" WL_DATA_DEVICE_MANAGER_DND_ACTION_COPY,","highlight_start":1,"highlight_end":48},{"text":" WL_DATA_DEVICE_MANAGER_DND_ACTION_COPY,","highlight_start":1,"highlight_end":48},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2178:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2178\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2179\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m offer as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2180\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 4,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2181\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m WL_DATA_DEVICE_MANAGER_DND_ACTION_COPY,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2182\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m WL_DATA_DEVICE_MANAGER_DND_ACTION_COPY,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2183\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::events::receive_offer_bytes` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":94699,"byte_end":94748,"line_start":2294,"line_end":2294,"column_start":17,"column_end":66,"is_primary":true,"text":[{"text":" let bytes = receive_offer_bytes(window, offer, URI_LIST_MIME);","highlight_start":17,"highlight_end":66}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":94588,"byte_end":94680,"line_start":2293,"line_end":2293,"column_start":1,"column_end":93,"is_primary":true,"text":[{"text":"unsafe fn receive_uri_list(window: &WaylandWindow, offer: *mut wl_data_offer) -> Vec {","highlight_start":1,"highlight_end":93}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":94681,"byte_end":94681,"line_start":2293,"line_end":2293,"column_start":94,"column_end":94,"is_primary":true,"text":[{"text":"unsafe fn receive_uri_list(window: &WaylandWindow, offer: *mut wl_data_offer) -> Vec {","highlight_start":94,"highlight_end":94}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":94825,"byte_end":94825,"line_start":2297,"line_end":2297,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::events::receive_offer_bytes` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2294:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2294\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let bytes = receive_offer_bytes(window, offer, URI_LIST_MIME);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2293:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2293\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn receive_uri_list(window: &WaylandWindow, offer: *mut wl_data_offer) -> Vec {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::events::receive_from_offer` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":96286,"byte_end":96416,"line_start":2326,"line_end":2331,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" receive_from_offer(","highlight_start":5,"highlight_end":24},{"text":" window,","highlight_start":1,"highlight_end":16},{"text":" offer as *mut wl_proxy,","highlight_start":1,"highlight_end":32},{"text":" WL_DATA_OFFER_RECEIVE_OPCODE,","highlight_start":1,"highlight_end":38},{"text":" mime_type,","highlight_start":1,"highlight_end":19},{"text":" )","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":96145,"byte_end":96279,"line_start":2321,"line_end":2325,"column_start":1,"column_end":13,"is_primary":true,"text":[{"text":"pub(super) unsafe fn receive_offer_bytes(","highlight_start":1,"highlight_end":42},{"text":" window: &WaylandWindow,","highlight_start":1,"highlight_end":28},{"text":" offer: *mut wl_data_offer,","highlight_start":1,"highlight_end":31},{"text":" mime_type: &str,","highlight_start":1,"highlight_end":21},{"text":") -> Vec {","highlight_start":1,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":96280,"byte_end":96280,"line_start":2325,"line_end":2325,"column_start":14,"column_end":14,"is_primary":true,"text":[{"text":") -> Vec {","highlight_start":14,"highlight_end":14}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":96418,"byte_end":96418,"line_start":2332,"line_end":2332,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::events::receive_from_offer` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2326:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2326\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m receive_from_offer(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2327\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2328\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m offer as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2329\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m WL_DATA_OFFER_RECEIVE_OPCODE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m mime_type,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2331\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m )\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2321:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2321\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub(super) unsafe fn receive_offer_bytes(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2322\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: &WaylandWindow,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2323\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m offer: *mut wl_data_offer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2324\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m mime_type: &str,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2325\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> Vec {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|____________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::pipe2` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":97118,"byte_end":97164,"line_start":2349,"line_end":2349,"column_start":8,"column_end":54,"is_primary":true,"text":[{"text":" if libc::pipe2(fds.as_mut_ptr(), libc::O_CLOEXEC) != 0 {","highlight_start":8,"highlight_end":54}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":96926,"byte_end":97079,"line_start":2342,"line_end":2347,"column_start":1,"column_end":13,"is_primary":true,"text":[{"text":"pub(super) unsafe fn receive_from_offer(","highlight_start":1,"highlight_end":41},{"text":" window: &WaylandWindow,","highlight_start":1,"highlight_end":28},{"text":" offer: *mut wl_proxy,","highlight_start":1,"highlight_end":26},{"text":" receive_opcode: u32,","highlight_start":1,"highlight_end":25},{"text":" mime_type: &str,","highlight_start":1,"highlight_end":21},{"text":") -> Vec {","highlight_start":1,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":97080,"byte_end":97080,"line_start":2347,"line_end":2347,"column_start":14,"column_end":14,"is_primary":true,"text":[{"text":") -> Vec {","highlight_start":14,"highlight_end":14}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":97916,"byte_end":97916,"line_start":2369,"line_end":2369,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::pipe2` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2349:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if libc::pipe2(fds.as_mut_ptr(), libc::O_CLOEXEC) != 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2342:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2342\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub(super) unsafe fn receive_from_offer(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2343\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: &WaylandWindow,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2344\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m offer: *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2345\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m receive_opcode: u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m mime_type: &str,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2347\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> Vec {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|____________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::close` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":97322,"byte_end":97342,"line_start":2355,"line_end":2355,"column_start":9,"column_end":29,"is_primary":true,"text":[{"text":" libc::close(read_fd);","highlight_start":9,"highlight_end":29}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::close` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2355:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2355\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m libc::close(read_fd);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::close` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":97352,"byte_end":97373,"line_start":2356,"line_end":2356,"column_start":9,"column_end":30,"is_primary":true,"text":[{"text":" libc::close(write_fd);","highlight_start":9,"highlight_end":30}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::close` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2356:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2356\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m libc::close(write_fd);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":97491,"byte_end":97543,"line_start":2360,"line_end":2360,"column_start":9,"column_end":61,"is_primary":true,"text":[{"text":" std::mem::transmute(window.wayland.wl_proxy_marshal);","highlight_start":9,"highlight_end":61}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2360:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2360\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(window.wayland.wl_proxy_marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":97549,"byte_end":97598,"line_start":2361,"line_end":2361,"column_start":5,"column_end":54,"is_primary":true,"text":[{"text":" f(offer, receive_opcode, mime.as_ptr(), write_fd);","highlight_start":5,"highlight_end":54}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2361:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2361\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(offer, receive_opcode, mime.as_ptr(), write_fd);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":97745,"byte_end":97794,"line_start":2365,"line_end":2365,"column_start":5,"column_end":54,"is_primary":true,"text":[{"text":" (window.wayland.wl_display_flush)(window.display);","highlight_start":5,"highlight_end":54}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2365:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2365\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.wl_display_flush)(window.display);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::close` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":97800,"byte_end":97821,"line_start":2366,"line_end":2366,"column_start":5,"column_end":26,"is_primary":true,"text":[{"text":" libc::close(write_fd);","highlight_start":5,"highlight_end":26}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::close` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2366:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2366\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m libc::close(write_fd);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::events::drain_offer_pipe_off_thread` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":97828,"byte_end":97914,"line_start":2368,"line_end":2368,"column_start":5,"column_end":91,"is_primary":true,"text":[{"text":" drain_offer_pipe_off_thread(read_fd, OFFER_READ_TIMEOUT, PASTE_UI_DEADLINE, mime_type)","highlight_start":5,"highlight_end":91}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::events::drain_offer_pipe_off_thread` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2368:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2368\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m drain_offer_pipe_off_thread(read_fd, OFFER_READ_TIMEOUT, PASTE_UI_DEADLINE, mime_type)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::events::drain_offer_pipe` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":100364,"byte_end":100409,"line_start":2435,"line_end":2435,"column_start":16,"column_end":61,"is_primary":true,"text":[{"text":" return drain_offer_pipe(read_fd, timeout, mime_type);","highlight_start":16,"highlight_end":61}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":99656,"byte_end":99829,"line_start":2414,"line_end":2419,"column_start":1,"column_end":13,"is_primary":true,"text":[{"text":"pub(super) unsafe fn drain_offer_pipe_off_thread(","highlight_start":1,"highlight_end":50},{"text":" read_fd: i32,","highlight_start":1,"highlight_end":18},{"text":" timeout: std::time::Duration,","highlight_start":1,"highlight_end":34},{"text":" ui_deadline: std::time::Duration,","highlight_start":1,"highlight_end":38},{"text":" mime_type: &str,","highlight_start":1,"highlight_end":21},{"text":") -> Vec {","highlight_start":1,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":99830,"byte_end":99830,"line_start":2419,"line_end":2419,"column_start":14,"column_end":14,"is_primary":true,"text":[{"text":") -> Vec {","highlight_start":14,"highlight_end":14}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":100470,"byte_end":100470,"line_start":2438,"line_end":2438,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::events::drain_offer_pipe` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2435:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2435\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return drain_offer_pipe(read_fd, timeout, mime_type);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2414:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub(super) unsafe fn drain_offer_pipe_off_thread(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2415\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m read_fd: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2416\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m timeout: std::time::Duration,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2417\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ui_deadline: std::time::Duration,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2418\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m mime_type: &str,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2419\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> Vec {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|____________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::fcntl` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":102721,"byte_end":102759,"line_start":2490,"line_end":2490,"column_start":17,"column_end":55,"is_primary":true,"text":[{"text":" let flags = libc::fcntl(read_fd, libc::F_GETFL, 0);","highlight_start":17,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":102578,"byte_end":102702,"line_start":2485,"line_end":2489,"column_start":1,"column_end":13,"is_primary":true,"text":[{"text":"pub(super) unsafe fn drain_offer_pipe(","highlight_start":1,"highlight_end":39},{"text":" read_fd: i32,","highlight_start":1,"highlight_end":18},{"text":" timeout: std::time::Duration,","highlight_start":1,"highlight_end":34},{"text":" mime_type: &str,","highlight_start":1,"highlight_end":21},{"text":") -> Vec {","highlight_start":1,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":102703,"byte_end":102703,"line_start":2489,"line_end":2489,"column_start":14,"column_end":14,"is_primary":true,"text":[{"text":") -> Vec {","highlight_start":14,"highlight_end":14}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":105386,"byte_end":105386,"line_start":2565,"line_end":2565,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::fcntl` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2490:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2490\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let flags = libc::fcntl(read_fd, libc::F_GETFL, 0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2485:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2485\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub(super) unsafe fn drain_offer_pipe(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2486\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m read_fd: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2487\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m timeout: std::time::Duration,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2488\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m mime_type: &str,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2489\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> Vec {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|____________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::fcntl` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":102789,"byte_end":102850,"line_start":2492,"line_end":2492,"column_start":9,"column_end":70,"is_primary":true,"text":[{"text":" libc::fcntl(read_fd, libc::F_SETFL, flags | libc::O_NONBLOCK);","highlight_start":9,"highlight_end":70}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::fcntl` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2492:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2492\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m libc::fcntl(read_fd, libc::F_SETFL, flags | libc::O_NONBLOCK);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::close` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":103377,"byte_end":103397,"line_start":2507,"line_end":2507,"column_start":13,"column_end":33,"is_primary":true,"text":[{"text":" libc::close(read_fd);","highlight_start":13,"highlight_end":33}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::close` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2507:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2507\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m libc::close(read_fd);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::poll` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":104327,"byte_end":104362,"line_start":2532,"line_end":2532,"column_start":21,"column_end":56,"is_primary":true,"text":[{"text":" let ready = libc::poll(&mut pfd, 1, timeout_ms);","highlight_start":21,"highlight_end":56}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::poll` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2532:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2532\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ready = libc::poll(&mut pfd, 1, timeout_ms);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":104402,"byte_end":104427,"line_start":2534,"line_end":2534,"column_start":16,"column_end":41,"is_primary":true,"text":[{"text":" if *libc::__errno_location() == libc::EINTR {","highlight_start":16,"highlight_end":41}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2534:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2534\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if *libc::__errno_location() == libc::EINTR {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::__errno_location` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":104403,"byte_end":104427,"line_start":2534,"line_end":2534,"column_start":17,"column_end":41,"is_primary":true,"text":[{"text":" if *libc::__errno_location() == libc::EINTR {","highlight_start":17,"highlight_end":41}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::__errno_location` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2534:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2534\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if *libc::__errno_location() == libc::EINTR {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::read` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":104744,"byte_end":104811,"line_start":2545,"line_end":2545,"column_start":21,"column_end":88,"is_primary":true,"text":[{"text":" let n = libc::read(read_fd, chunk.as_mut_ptr() as *mut c_void, chunk.len());","highlight_start":21,"highlight_end":88}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::read` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2545:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2545\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let n = libc::read(read_fd, chunk.as_mut_ptr() as *mut c_void, chunk.len());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":105008,"byte_end":105033,"line_start":2551,"line_end":2551,"column_start":27,"column_end":52,"is_primary":true,"text":[{"text":" let err = *libc::__errno_location();","highlight_start":27,"highlight_end":52}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2551:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2551\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let err = *libc::__errno_location();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::__errno_location` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":105009,"byte_end":105033,"line_start":2551,"line_end":2551,"column_start":28,"column_end":52,"is_primary":true,"text":[{"text":" let err = *libc::__errno_location();","highlight_start":28,"highlight_end":52}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::__errno_location` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2551:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2551\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let err = *libc::__errno_location();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::close` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":105354,"byte_end":105374,"line_start":2562,"line_end":2562,"column_start":5,"column_end":25,"is_primary":true,"text":[{"text":" libc::close(read_fd);","highlight_start":5,"highlight_end":25}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::close` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2562:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2562\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m libc::close(read_fd);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":110328,"byte_end":110392,"line_start":2690,"line_end":2690,"column_start":31,"column_end":95,"is_primary":true,"text":[{"text":" let ctor: GetDeviceCtor = std::mem::transmute(window.wayland.wl_proxy_marshal_constructor);","highlight_start":31,"highlight_end":95}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":109796,"byte_end":109890,"line_start":2675,"line_end":2675,"column_start":1,"column_end":95,"is_primary":true,"text":[{"text":"pub(super) unsafe fn try_init_primary_selection(window: &mut WaylandWindow, data: *mut c_void) {","highlight_start":1,"highlight_end":95}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":109891,"byte_end":109891,"line_start":2675,"line_end":2675,"column_start":96,"column_end":96,"is_primary":true,"text":[{"text":"pub(super) unsafe fn try_init_primary_selection(window: &mut WaylandWindow, data: *mut c_void) {","highlight_start":96,"highlight_end":96}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":111080,"byte_end":111080,"line_start":2713,"line_end":2713,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2690:31\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2690\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ctor: GetDeviceCtor = std::mem::transmute(window.wayland.wl_proxy_marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2675:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2675\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub(super) unsafe fn try_init_primary_selection(window: &mut WaylandWindow, data: *mut c_void) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":110408,"byte_end":110593,"line_start":2691,"line_end":2697,"column_start":15,"column_end":6,"is_primary":true,"text":[{"text":" let dev = ctor(","highlight_start":15,"highlight_end":20},{"text":" window.primary_selection_manager as *mut wl_proxy,","highlight_start":1,"highlight_end":59},{"text":" 1,","highlight_start":1,"highlight_end":11},{"text":" get_primary_selection_device_v1_interface(),","highlight_start":1,"highlight_end":53},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":30},{"text":" window.seat,","highlight_start":1,"highlight_end":21},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2691:15\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2691\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let dev = ctor(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m _______________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2692\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window.primary_selection_manager as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2693\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2694\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_primary_selection_device_v1_interface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2695\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2696\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window.seat,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2697\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":110644,"byte_end":110784,"line_start":2701,"line_end":2705,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" (window.wayland.wl_proxy_add_listener)(","highlight_start":5,"highlight_end":44},{"text":" dev,","highlight_start":1,"highlight_end":13},{"text":" &PRIMARY_SELECTION_DEVICE_LISTENER as *const _ as *const _,","highlight_start":1,"highlight_end":68},{"text":" data,","highlight_start":1,"highlight_end":14},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2701:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2701\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.wl_proxy_add_listener)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2702\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m dev,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2703\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &PRIMARY_SELECTION_DEVICE_LISTENER as *const _ as *const _,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2704\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2705\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":112475,"byte_end":112539,"line_start":2748,"line_end":2748,"column_start":35,"column_end":99,"is_primary":true,"text":[{"text":" let ctor: GetDeviceCtor = std::mem::transmute(window.wayland.wl_proxy_marshal_constructor);","highlight_start":35,"highlight_end":99}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":111635,"byte_end":111746,"line_start":2723,"line_end":2726,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"pub(super) unsafe fn try_init_seat_primary_selections(","highlight_start":1,"highlight_end":55},{"text":" window: &mut WaylandWindow,","highlight_start":1,"highlight_end":32},{"text":" data: *mut c_void,","highlight_start":1,"highlight_end":23},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":111747,"byte_end":111747,"line_start":2726,"line_end":2726,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":113325,"byte_end":113325,"line_start":2774,"line_end":2774,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2748:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2748\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ctor: GetDeviceCtor = std::mem::transmute(window.wayland.wl_proxy_marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2723:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2723\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub(super) unsafe fn try_init_seat_primary_selections(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2724\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: &mut WaylandWindow,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2725\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data: *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2726\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":112559,"byte_end":112761,"line_start":2749,"line_end":2755,"column_start":19,"column_end":10,"is_primary":true,"text":[{"text":" let dev = ctor(","highlight_start":19,"highlight_end":24},{"text":" window.primary_selection_manager as *mut wl_proxy,","highlight_start":1,"highlight_end":63},{"text":" 1,","highlight_start":1,"highlight_end":15},{"text":" get_primary_selection_device_v1_interface(),","highlight_start":1,"highlight_end":57},{"text":" std::ptr::null_mut(),","highlight_start":1,"highlight_end":34},{"text":" seat,","highlight_start":1,"highlight_end":18},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2749:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2749\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let dev = ctor(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m ___________________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2750\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window.primary_selection_manager as *mut wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2751\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2752\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m get_primary_selection_device_v1_interface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2753\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2754\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m seat,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2755\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":112830,"byte_end":112991,"line_start":2759,"line_end":2763,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" (window.wayland.wl_proxy_add_listener)(","highlight_start":9,"highlight_end":48},{"text":" dev,","highlight_start":1,"highlight_end":17},{"text":" &SEAT_PRIMARY_SELECTION_DEVICE_LISTENER as *const _ as *const _,","highlight_start":1,"highlight_end":77},{"text":" data,","highlight_start":1,"highlight_end":18},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2759:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2759\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.wl_proxy_add_listener)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2760\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m dev,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2761\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &SEAT_PRIMARY_SELECTION_DEVICE_LISTENER as *const _ as *const _,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2762\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2763\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::events::destroy_primary_offer_raw` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":118258,"byte_end":118408,"line_start":2915,"line_end":2919,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" destroy_primary_offer_raw(","highlight_start":5,"highlight_end":31},{"text":" std::mem::transmute(window.wayland.wl_proxy_marshal),","highlight_start":1,"highlight_end":62},{"text":" window.wayland.wl_proxy_destroy,","highlight_start":1,"highlight_end":41},{"text":" offer,","highlight_start":1,"highlight_end":15},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":118130,"byte_end":118251,"line_start":2911,"line_end":2914,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"pub(super) unsafe fn destroy_primary_offer(","highlight_start":1,"highlight_end":44},{"text":" window: &WaylandWindow,","highlight_start":1,"highlight_end":28},{"text":" offer: *mut zwp_primary_selection_offer_v1,","highlight_start":1,"highlight_end":48},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":118252,"byte_end":118252,"line_start":2914,"line_end":2914,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":118411,"byte_end":118411,"line_start":2920,"line_end":2920,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::events::destroy_primary_offer_raw` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2915:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2915\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m destroy_primary_offer_raw(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2916\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(window.wayland.wl_proxy_marshal),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2917\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window.wayland.wl_proxy_destroy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2918\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m offer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2919\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2911:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2911\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub(super) unsafe fn destroy_primary_offer(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2912\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: &WaylandWindow,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2913\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m offer: *mut zwp_primary_selection_offer_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2914\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":118293,"byte_end":118345,"line_start":2916,"line_end":2916,"column_start":9,"column_end":61,"is_primary":true,"text":[{"text":" std::mem::transmute(window.wayland.wl_proxy_marshal),","highlight_start":9,"highlight_end":61}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2916:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2916\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::mem::transmute(window.wayland.wl_proxy_marshal),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":118813,"byte_end":118874,"line_start":2932,"line_end":2932,"column_start":5,"column_end":66,"is_primary":true,"text":[{"text":" marshal(offer as *mut wl_proxy, PRIMARY_OFFER_DESTROY_OPCODE);","highlight_start":5,"highlight_end":66}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":118562,"byte_end":118759,"line_start":2924,"line_end":2928,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe fn destroy_primary_offer_raw(","highlight_start":1,"highlight_end":37},{"text":" marshal: unsafe extern \"C\" fn(*mut wl_proxy, u32),","highlight_start":1,"highlight_end":55},{"text":" proxy_destroy: unsafe extern \"C\" fn(*mut wl_proxy),","highlight_start":1,"highlight_end":56},{"text":" offer: *mut zwp_primary_selection_offer_v1,","highlight_start":1,"highlight_end":48},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":118760,"byte_end":118760,"line_start":2928,"line_end":2928,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":118920,"byte_end":118920,"line_start":2934,"line_end":2934,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2932:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2932\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m marshal(offer as *mut wl_proxy, PRIMARY_OFFER_DESTROY_OPCODE);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2924:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2924\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn destroy_primary_offer_raw(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2925\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m marshal: unsafe extern \"C\" fn(*mut wl_proxy, u32),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2926\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m proxy_destroy: unsafe extern \"C\" fn(*mut wl_proxy),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2927\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m offer: *mut zwp_primary_selection_offer_v1,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2928\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":118880,"byte_end":118917,"line_start":2933,"line_end":2933,"column_start":5,"column_end":42,"is_primary":true,"text":[{"text":" proxy_destroy(offer as *mut wl_proxy);","highlight_start":5,"highlight_end":42}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:2933:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2933\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m proxy_destroy(offer as *mut wl_proxy);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":204465,"byte_end":204534,"line_start":5057,"line_end":5057,"column_start":13,"column_end":82,"is_primary":true,"text":[{"text":" (window.wayland.zwp_locked_pointer_v1_destroy)(window.locked_pointer);","highlight_start":13,"highlight_end":82}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":204115,"byte_end":204236,"line_start":5048,"line_end":5052,"column_start":1,"column_end":10,"is_primary":true,"text":[{"text":"pub(super) unsafe fn set_pointer_lock(","highlight_start":1,"highlight_end":39},{"text":" window: &mut WaylandWindow,","highlight_start":1,"highlight_end":32},{"text":" data: *mut c_void,","highlight_start":1,"highlight_end":23},{"text":" locked: bool,","highlight_start":1,"highlight_end":18},{"text":") -> bool {","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":204237,"byte_end":204237,"line_start":5052,"line_end":5052,"column_start":11,"column_end":11,"is_primary":true,"text":[{"text":") -> bool {","highlight_start":11,"highlight_end":11}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":206503,"byte_end":206503,"line_start":5113,"line_end":5113,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5057:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5057\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.zwp_locked_pointer_v1_destroy)(window.locked_pointer);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5048:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5048\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub(super) unsafe fn set_pointer_lock(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5049\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: &mut WaylandWindow,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5050\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data: *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5051\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m locked: bool,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5052\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> bool {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":204664,"byte_end":204737,"line_start":5061,"line_end":5061,"column_start":13,"column_end":86,"is_primary":true,"text":[{"text":" (window.wayland.zwp_relative_pointer_v1_destroy)(window.relative_pointer);","highlight_start":13,"highlight_end":86}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5061:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5061\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.zwp_relative_pointer_v1_destroy)(window.relative_pointer);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":205431,"byte_end":205604,"line_start":5081,"line_end":5086,"column_start":15,"column_end":6,"is_primary":true,"text":[{"text":" let rel = (window","highlight_start":15,"highlight_end":22},{"text":" .wayland","highlight_start":1,"highlight_end":17},{"text":" .zwp_relative_pointer_manager_v1_get_relative_pointer)(","highlight_start":1,"highlight_end":64},{"text":" window.relative_pointer_manager,","highlight_start":1,"highlight_end":41},{"text":" window.pointer_state.pointer,","highlight_start":1,"highlight_end":38},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5081:15\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5081\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let rel = (window\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m _______________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5082\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m .wayland\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5083\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m .zwp_relative_pointer_manager_v1_get_relative_pointer)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5084\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window.relative_pointer_manager,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5085\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window.pointer_state.pointer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5086\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":205661,"byte_end":205788,"line_start":5090,"line_end":5094,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" (window.wayland.zwp_relative_pointer_v1_add_listener)(","highlight_start":5,"highlight_end":59},{"text":" rel,","highlight_start":1,"highlight_end":13},{"text":" &ZWP_RELATIVE_POINTER_LISTENER,","highlight_start":1,"highlight_end":40},{"text":" data,","highlight_start":1,"highlight_end":14},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5090:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5090\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.zwp_relative_pointer_v1_add_listener)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5091\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m rel,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5092\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &ZWP_RELATIVE_POINTER_LISTENER,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5093\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5094\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":205841,"byte_end":206132,"line_start":5097,"line_end":5103,"column_start":16,"column_end":6,"is_primary":true,"text":[{"text":" let lock = (window.wayland.zwp_pointer_constraints_v1_lock_pointer)(","highlight_start":16,"highlight_end":73},{"text":" window.pointer_constraints,","highlight_start":1,"highlight_end":36},{"text":" window.surface,","highlight_start":1,"highlight_end":24},{"text":" window.pointer_state.pointer,","highlight_start":1,"highlight_end":38},{"text":" std::ptr::null_mut(), // null region = the whole surface","highlight_start":1,"highlight_end":65},{"text":" defines::ZWP_POINTER_CONSTRAINTS_V1_LIFETIME_PERSISTENT,","highlight_start":1,"highlight_end":65},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5097:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5097\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let lock = (window.wayland.zwp_pointer_constraints_v1_lock_pointer)(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m ________________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5098\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window.pointer_constraints,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5099\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window.surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5100\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window.pointer_state.pointer,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5101\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(), // null region = the whole surface\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5102\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::ZWP_POINTER_CONSTRAINTS_V1_LIFETIME_PERSISTENT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5103\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":206166,"byte_end":206219,"line_start":5105,"line_end":5105,"column_start":9,"column_end":62,"is_primary":true,"text":[{"text":" (window.wayland.zwp_relative_pointer_v1_destroy)(rel);","highlight_start":9,"highlight_end":62}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5105:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5105\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.zwp_relative_pointer_v1_destroy)(rel);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":206309,"byte_end":206402,"line_start":5109,"line_end":5109,"column_start":5,"column_end":98,"is_primary":true,"text":[{"text":" (window.wayland.zwp_locked_pointer_v1_add_listener)(lock, &ZWP_LOCKED_POINTER_LISTENER, data);","highlight_start":5,"highlight_end":98}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5109:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5109\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.zwp_locked_pointer_v1_add_listener)(lock, &ZWP_LOCKED_POINTER_LISTENER, data);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":206442,"byte_end":206491,"line_start":5111,"line_end":5111,"column_start":5,"column_end":54,"is_primary":true,"text":[{"text":" (window.wayland.wl_display_flush)(window.display);","highlight_start":5,"highlight_end":54}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5111:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5111\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.wl_display_flush)(window.display);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":214354,"byte_end":214418,"line_start":5349,"line_end":5349,"column_start":17,"column_end":81,"is_primary":true,"text":[{"text":" let pinch = (window.wayland.zwp_pointer_gestures_v1_get_pinch_gesture)(g, p);","highlight_start":17,"highlight_end":81}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":213996,"byte_end":214089,"line_start":5339,"line_end":5339,"column_start":1,"column_end":94,"is_primary":true,"text":[{"text":"pub(super) unsafe fn try_init_pointer_gestures(window: &mut WaylandWindow, data: *mut c_void) {","highlight_start":1,"highlight_end":94}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":214090,"byte_end":214090,"line_start":5339,"line_end":5339,"column_start":95,"column_end":95,"is_primary":true,"text":[{"text":"pub(super) unsafe fn try_init_pointer_gestures(window: &mut WaylandWindow, data: *mut c_void) {","highlight_start":95,"highlight_end":95}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":215395,"byte_end":215395,"line_start":5378,"line_end":5378,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5349:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let pinch = (window.wayland.zwp_pointer_gestures_v1_get_pinch_gesture)(g, p);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5339:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5339\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0mpub(super) unsafe fn try_init_pointer_gestures(window: &mut WaylandWindow, data: *mut c_void) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":214424,"byte_end":214563,"line_start":5350,"line_end":5354,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" (window.wayland.zwp_pointer_gesture_pinch_v1_add_listener)(","highlight_start":5,"highlight_end":64},{"text":" pinch,","highlight_start":1,"highlight_end":15},{"text":" &ZWP_POINTER_GESTURE_PINCH_LISTENER,","highlight_start":1,"highlight_end":45},{"text":" data,","highlight_start":1,"highlight_end":14},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5350:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5350\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.zwp_pointer_gesture_pinch_v1_add_listener)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5351\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m pinch,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5352\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &ZWP_POINTER_GESTURE_PINCH_LISTENER,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5353\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5354\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":214616,"byte_end":214680,"line_start":5357,"line_end":5357,"column_start":17,"column_end":81,"is_primary":true,"text":[{"text":" let swipe = (window.wayland.zwp_pointer_gestures_v1_get_swipe_gesture)(g, p);","highlight_start":17,"highlight_end":81}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5357:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5357\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let swipe = (window.wayland.zwp_pointer_gestures_v1_get_swipe_gesture)(g, p);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":214686,"byte_end":214825,"line_start":5358,"line_end":5362,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" (window.wayland.zwp_pointer_gesture_swipe_v1_add_listener)(","highlight_start":5,"highlight_end":64},{"text":" swipe,","highlight_start":1,"highlight_end":15},{"text":" &ZWP_POINTER_GESTURE_SWIPE_LISTENER,","highlight_start":1,"highlight_end":45},{"text":" data,","highlight_start":1,"highlight_end":14},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5358:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.zwp_pointer_gesture_swipe_v1_add_listener)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m swipe,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5360\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &ZWP_POINTER_GESTURE_SWIPE_LISTENER,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5361\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5362\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":215075,"byte_end":215138,"line_start":5368,"line_end":5368,"column_start":20,"column_end":83,"is_primary":true,"text":[{"text":" let hold = (window.wayland.zwp_pointer_gestures_v1_get_hold_gesture)(g, p);","highlight_start":20,"highlight_end":83}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5368:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5368\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let hold = (window.wayland.zwp_pointer_gestures_v1_get_hold_gesture)(g, p);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/events.rs","byte_start":215148,"byte_end":215300,"line_start":5369,"line_end":5373,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" (window.wayland.zwp_pointer_gesture_hold_v1_add_listener)(","highlight_start":9,"highlight_end":67},{"text":" hold,","highlight_start":1,"highlight_end":18},{"text":" &ZWP_POINTER_GESTURE_HOLD_LISTENER,","highlight_start":1,"highlight_end":48},{"text":" data,","highlight_start":1,"highlight_end":18},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/events.rs:5369:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5369\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (window.wayland.zwp_pointer_gesture_hold_v1_add_listener)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5370\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m hold,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5371\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &ZWP_POINTER_GESTURE_HOLD_LISTENER,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5372\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5373\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":21245,"byte_end":21266,"line_start":520,"line_end":520,"column_start":10,"column_end":31,"is_primary":true,"text":[{"text":" &mut *(data as *mut State)","highlight_start":10,"highlight_end":31}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":21178,"byte_end":21233,"line_start":519,"line_end":519,"column_start":1,"column_end":56,"is_primary":true,"text":[{"text":"unsafe fn state<'a>(data: *mut c_void) -> &'a mut State {","highlight_start":1,"highlight_end":56}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":21234,"byte_end":21234,"line_start":519,"line_end":519,"column_start":57,"column_end":57,"is_primary":true,"text":[{"text":"unsafe fn state<'a>(data: *mut c_void) -> &'a mut State {","highlight_start":57,"highlight_end":57}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":21268,"byte_end":21268,"line_start":521,"line_end":521,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:520:10\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m520\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut *(data as *mut State)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:519:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m519\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn state<'a>(data: *mut c_void) -> &'a mut State {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":21379,"byte_end":21406,"line_start":527,"line_end":527,"column_start":9,"column_end":36,"is_primary":true,"text":[{"text":" std::ffi::CStr::from_ptr(p).to_string_lossy().into_owned()","highlight_start":9,"highlight_end":36}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":21270,"byte_end":21312,"line_start":523,"line_end":523,"column_start":1,"column_end":43,"is_primary":true,"text":[{"text":"unsafe fn cstr(p: *const c_char) -> String {","highlight_start":1,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":21313,"byte_end":21313,"line_start":523,"line_end":523,"column_start":44,"column_end":44,"is_primary":true,"text":[{"text":"unsafe fn cstr(p: *const c_char) -> String {","highlight_start":44,"highlight_end":44}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":21445,"byte_end":21445,"line_start":529,"line_end":529,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:527:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m527\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ffi::CStr::from_ptr(p).to_string_lossy().into_owned()\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:523:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m523\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn cstr(p: *const c_char) -> String {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":21609,"byte_end":21620,"line_start":538,"line_end":538,"column_start":14,"column_end":25,"is_primary":true,"text":[{"text":" let st = state(data);","highlight_start":14,"highlight_end":25}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":21447,"byte_end":21593,"line_start":531,"line_end":537,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_global(","highlight_start":1,"highlight_end":32},{"text":" data: *mut c_void,","highlight_start":1,"highlight_end":23},{"text":" registry: *mut c_void,","highlight_start":1,"highlight_end":27},{"text":" name: u32,","highlight_start":1,"highlight_end":15},{"text":" interface: *const c_char,","highlight_start":1,"highlight_end":30},{"text":" version: u32,","highlight_start":1,"highlight_end":18},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":21594,"byte_end":21594,"line_start":537,"line_end":537,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":22593,"byte_end":22593,"line_start":566,"line_end":566,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:538:14\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m538\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let st = state(data);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:531:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m531\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn on_global(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m532\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data: *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m533\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m registry: *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m534\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m name: u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m535\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m interface: *const c_char,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m536\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m version: u32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m537\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::screencopy::cstr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":21638,"byte_end":21653,"line_start":539,"line_end":539,"column_start":17,"column_end":32,"is_primary":true,"text":[{"text":" let iface = cstr(interface);","highlight_start":17,"highlight_end":32}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::screencopy::cstr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:539:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m539\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let iface = cstr(interface);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":21716,"byte_end":21722,"line_start":543,"line_end":543,"column_start":15,"column_end":21,"is_primary":true,"text":[{"text":" let wl = &*st.wl;","highlight_start":15,"highlight_end":21}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:543:15\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m543\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let wl = &*st.wl;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":21819,"byte_end":21970,"line_start":545,"line_end":550,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" (wl.wl_registry_bind)(","highlight_start":9,"highlight_end":31},{"text":" registry as *mut defines::wl_registry,","highlight_start":1,"highlight_end":51},{"text":" name,","highlight_start":1,"highlight_end":18},{"text":" target,","highlight_start":1,"highlight_end":20},{"text":" ver.min(version),","highlight_start":1,"highlight_end":30},{"text":" )","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:545:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m545\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (wl.wl_registry_bind)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m546\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m registry as *mut defines::wl_registry,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m547\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m name,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m548\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m target,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m549\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ver.min(version),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m550\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m )\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":22811,"byte_end":22822,"line_start":575,"line_end":575,"column_start":14,"column_end":25,"is_primary":true,"text":[{"text":" let st = state(data);","highlight_start":14,"highlight_end":25}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":22677,"byte_end":22795,"line_start":570,"line_end":574,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_toplevel(","highlight_start":1,"highlight_end":34},{"text":" data: *mut c_void,","highlight_start":1,"highlight_end":23},{"text":" _list: *mut c_void,","highlight_start":1,"highlight_end":24},{"text":" handle: *mut defines::wl_proxy,","highlight_start":1,"highlight_end":36},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":22796,"byte_end":22796,"line_start":574,"line_end":574,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":23885,"byte_end":23885,"line_start":603,"line_end":603,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:575:14\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m575\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let st = state(data);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:570:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m570\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn on_toplevel(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m571\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data: *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m572\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m _list: *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m573\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m handle: *mut defines::wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m574\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":23149,"byte_end":23155,"line_start":585,"line_end":585,"column_start":19,"column_end":25,"is_primary":true,"text":[{"text":" let wl = &*st.wl;","highlight_start":19,"highlight_end":25}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:585:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m585\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let wl = &*st.wl;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":23728,"byte_end":23876,"line_start":597,"line_end":601,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" (wl.wl_proxy_add_listener)(","highlight_start":9,"highlight_end":36},{"text":" handle,","highlight_start":1,"highlight_end":20},{"text":" &HANDLE_LISTENER as *const _ as *const c_void,","highlight_start":1,"highlight_end":59},{"text":" ctx as *mut c_void,","highlight_start":1,"highlight_end":32},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:597:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m597\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (wl.wl_proxy_add_listener)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m598\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m handle,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m599\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &HANDLE_LISTENER as *const _ as *const c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m600\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ctx as *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m601\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":23987,"byte_end":24023,"line_start":606,"line_end":606,"column_start":25,"column_end":61,"is_primary":true,"text":[{"text":" let (st_ptr, idx) = *(data as *mut (*mut c_void, usize));","highlight_start":25,"highlight_end":61}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":23887,"byte_end":23960,"line_start":605,"line_end":605,"column_start":1,"column_end":74,"is_primary":true,"text":[{"text":"unsafe fn handle_entry<'a>(data: *mut c_void) -> Option<&'a mut Toplevel> {","highlight_start":1,"highlight_end":74}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":23961,"byte_end":23961,"line_start":605,"line_end":605,"column_start":75,"column_end":75,"is_primary":true,"text":[{"text":"unsafe fn handle_entry<'a>(data: *mut c_void) -> Option<&'a mut Toplevel> {","highlight_start":75,"highlight_end":75}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24067,"byte_end":24067,"line_start":608,"line_end":608,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:606:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m606\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let (st_ptr, idx) = *(data as *mut (*mut c_void, usize));\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:605:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m605\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn handle_entry<'a>(data: *mut c_void) -> Option<&'a mut Toplevel> {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24029,"byte_end":24042,"line_start":607,"line_end":607,"column_start":5,"column_end":18,"is_primary":true,"text":[{"text":" state(st_ptr).toplevels.get_mut(idx)","highlight_start":5,"highlight_end":18}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:607:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m607\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m state(st_ptr).toplevels.get_mut(idx)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::screencopy::handle_entry` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24330,"byte_end":24348,"line_start":613,"line_end":613,"column_start":22,"column_end":40,"is_primary":true,"text":[{"text":" if let Some(t) = handle_entry(data) {","highlight_start":22,"highlight_end":40}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24213,"byte_end":24306,"line_start":612,"line_end":612,"column_start":1,"column_end":94,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_handle_title(data: *mut c_void, _: *mut c_void, title: *const c_char) {","highlight_start":1,"highlight_end":94}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24307,"byte_end":24307,"line_start":612,"line_end":612,"column_start":95,"column_end":95,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_handle_title(data: *mut c_void, _: *mut c_void, title: *const c_char) {","highlight_start":95,"highlight_end":95}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24389,"byte_end":24389,"line_start":616,"line_end":616,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::screencopy::handle_entry` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:613:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m613\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if let Some(t) = handle_entry(data) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:612:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m612\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn on_handle_title(data: *mut c_void, _: *mut c_void, title: *const c_char) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::screencopy::cstr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24369,"byte_end":24380,"line_start":614,"line_end":614,"column_start":19,"column_end":30,"is_primary":true,"text":[{"text":" t.title = cstr(title);","highlight_start":19,"highlight_end":30}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::screencopy::cstr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:614:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m614\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m t.title = cstr(title);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::screencopy::handle_entry` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24509,"byte_end":24527,"line_start":618,"line_end":618,"column_start":22,"column_end":40,"is_primary":true,"text":[{"text":" if let Some(t) = handle_entry(data) {","highlight_start":22,"highlight_end":40}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24390,"byte_end":24485,"line_start":617,"line_end":617,"column_start":1,"column_end":96,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_handle_app_id(data: *mut c_void, _: *mut c_void, app_id: *const c_char) {","highlight_start":1,"highlight_end":96}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24486,"byte_end":24486,"line_start":617,"line_end":617,"column_start":97,"column_end":97,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_handle_app_id(data: *mut c_void, _: *mut c_void, app_id: *const c_char) {","highlight_start":97,"highlight_end":97}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24570,"byte_end":24570,"line_start":621,"line_end":621,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::screencopy::handle_entry` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:618:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m618\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if let Some(t) = handle_entry(data) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:617:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m617\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn on_handle_app_id(data: *mut c_void, _: *mut c_void, app_id: *const c_char) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::screencopy::cstr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24549,"byte_end":24561,"line_start":619,"line_end":619,"column_start":20,"column_end":32,"is_primary":true,"text":[{"text":" t.app_id = cstr(app_id);","highlight_start":20,"highlight_end":32}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::screencopy::cstr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:619:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m619\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m t.app_id = cstr(app_id);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24842,"byte_end":24853,"line_start":626,"line_end":626,"column_start":14,"column_end":25,"is_primary":true,"text":[{"text":" let st = state(data);","highlight_start":14,"highlight_end":25}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24740,"byte_end":24826,"line_start":625,"line_end":625,"column_start":1,"column_end":87,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_buffer_size(data: *mut c_void, _: *mut c_void, w: u32, h: u32) {","highlight_start":1,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24827,"byte_end":24827,"line_start":625,"line_end":625,"column_start":88,"column_end":88,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_buffer_size(data: *mut c_void, _: *mut c_void, w: u32, h: u32) {","highlight_start":88,"highlight_end":88}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24893,"byte_end":24893,"line_start":629,"line_end":629,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:626:14\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m626\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let st = state(data);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:625:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m625\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn on_buffer_size(data: *mut c_void, _: *mut c_void, w: u32, h: u32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24992,"byte_end":25003,"line_start":631,"line_end":631,"column_start":14,"column_end":25,"is_primary":true,"text":[{"text":" let st = state(data);","highlight_start":14,"highlight_end":25}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24894,"byte_end":24976,"line_start":630,"line_end":630,"column_start":1,"column_end":83,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_shm_format(data: *mut c_void, _: *mut c_void, format: u32) {","highlight_start":1,"highlight_end":83}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":24977,"byte_end":24977,"line_start":630,"line_end":630,"column_start":84,"column_end":84,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_shm_format(data: *mut c_void, _: *mut c_void, format: u32) {","highlight_start":84,"highlight_end":84}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":25320,"byte_end":25320,"line_start":639,"line_end":639,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:631:14\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m631\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let st = state(data);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:630:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m630\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn on_shm_format(data: *mut c_void, _: *mut c_void, format: u32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":25585,"byte_end":25596,"line_start":643,"line_end":643,"column_start":5,"column_end":16,"is_primary":true,"text":[{"text":" state(data).session_done = true;","highlight_start":5,"highlight_end":16}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":25507,"byte_end":25578,"line_start":642,"line_end":642,"column_start":1,"column_end":72,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_session_done(data: *mut c_void, _: *mut c_void) {","highlight_start":1,"highlight_end":72}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":25579,"byte_end":25579,"line_start":642,"line_end":642,"column_start":73,"column_end":73,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_session_done(data: *mut c_void, _: *mut c_void) {","highlight_start":73,"highlight_end":73}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":25619,"byte_end":25619,"line_start":644,"line_end":644,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:643:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m643\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m state(data).session_done = true;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:642:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m642\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn on_session_done(data: *mut c_void, _: *mut c_void) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":25701,"byte_end":25712,"line_start":646,"line_end":646,"column_start":5,"column_end":16,"is_primary":true,"text":[{"text":" state(data).session_stopped = true;","highlight_start":5,"highlight_end":16}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":25620,"byte_end":25694,"line_start":645,"line_end":645,"column_start":1,"column_end":75,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_session_stopped(data: *mut c_void, _: *mut c_void) {","highlight_start":1,"highlight_end":75}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":25695,"byte_end":25695,"line_start":645,"line_end":645,"column_start":76,"column_end":76,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_session_stopped(data: *mut c_void, _: *mut c_void) {","highlight_start":76,"highlight_end":76}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":25738,"byte_end":25738,"line_start":647,"line_end":647,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:646:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m646\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m state(data).session_stopped = true;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:645:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m645\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn on_session_stopped(data: *mut c_void, _: *mut c_void) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":26163,"byte_end":26174,"line_start":668,"line_end":668,"column_start":5,"column_end":16,"is_primary":true,"text":[{"text":" state(data).frame_ready = true;","highlight_start":5,"highlight_end":16}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":26086,"byte_end":26156,"line_start":667,"line_end":667,"column_start":1,"column_end":71,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_frame_ready(data: *mut c_void, _: *mut c_void) {","highlight_start":1,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":26157,"byte_end":26157,"line_start":667,"line_end":667,"column_start":72,"column_end":72,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_frame_ready(data: *mut c_void, _: *mut c_void) {","highlight_start":72,"highlight_end":72}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":26196,"byte_end":26196,"line_start":669,"line_end":669,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:668:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m668\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m state(data).frame_ready = true;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:667:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m667\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn on_frame_ready(data: *mut c_void, _: *mut c_void) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":26288,"byte_end":26299,"line_start":671,"line_end":671,"column_start":5,"column_end":16,"is_primary":true,"text":[{"text":" state(data).frame_failed = Some(reason);","highlight_start":5,"highlight_end":16}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":26197,"byte_end":26281,"line_start":670,"line_end":670,"column_start":1,"column_end":85,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_frame_failed(data: *mut c_void, _: *mut c_void, reason: u32) {","highlight_start":1,"highlight_end":85}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":26282,"byte_end":26282,"line_start":670,"line_end":670,"column_start":86,"column_end":86,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn on_frame_failed(data: *mut c_void, _: *mut c_void, reason: u32) {","highlight_start":86,"highlight_end":86}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":26330,"byte_end":26330,"line_start":672,"line_end":672,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::wayland::screencopy::state` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:671:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m671\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m state(data).frame_failed = Some(reason);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:670:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m670\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn on_frame_failed(data: *mut c_void, _: *mut c_void, reason: u32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::syscall` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":38741,"byte_end":38811,"line_start":962,"line_end":962,"column_start":18,"column_end":88,"is_primary":true,"text":[{"text":" let mut fd = libc::syscall(libc::SYS_memfd_create, name.as_ptr(), 1 as libc::c_int)","highlight_start":18,"highlight_end":88}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":38581,"byte_end":38640,"line_start":959,"line_end":959,"column_start":1,"column_end":60,"is_primary":true,"text":[{"text":"unsafe fn memfd(size: i32) -> Result {","highlight_start":1,"highlight_end":60}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":38641,"byte_end":38641,"line_start":959,"line_end":959,"column_start":61,"column_end":61,"is_primary":true,"text":[{"text":"unsafe fn memfd(size: i32) -> Result {","highlight_start":61,"highlight_end":61}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":39465,"byte_end":39465,"line_start":983,"line_end":983,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::syscall` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:962:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m962\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut fd = libc::syscall(libc::SYS_memfd_create, name.as_ptr(), 1 as libc::c_int)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:959:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m959\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn memfd(size: i32) -> Result {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::shm_open` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":38965,"byte_end":39093,"line_start":966,"line_end":970,"column_start":14,"column_end":10,"is_primary":true,"text":[{"text":" fd = libc::shm_open(","highlight_start":14,"highlight_end":29},{"text":" name.as_ptr(),","highlight_start":1,"highlight_end":27},{"text":" libc::O_CREAT | libc::O_RDWR | libc::O_EXCL,","highlight_start":1,"highlight_end":57},{"text":" 0o600,","highlight_start":1,"highlight_end":19},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::shm_open` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:966:14\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m966\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m fd = libc::shm_open(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m ______________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m967\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m name.as_ptr(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m968\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m libc::O_CREAT | libc::O_RDWR | libc::O_EXCL,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m969\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 0o600,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m970\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::shm_unlink` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":39129,"byte_end":39160,"line_start":972,"line_end":972,"column_start":13,"column_end":44,"is_primary":true,"text":[{"text":" libc::shm_unlink(name.as_ptr());","highlight_start":13,"highlight_end":44}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::shm_unlink` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:972:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m972\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m libc::shm_unlink(name.as_ptr());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::ftruncate` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":39295,"byte_end":39335,"line_start":978,"line_end":978,"column_start":8,"column_end":48,"is_primary":true,"text":[{"text":" if libc::ftruncate(fd, size as libc::off_t) == -1 {","highlight_start":8,"highlight_end":48}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::ftruncate` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:978:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m978\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if libc::ftruncate(fd, size as libc::off_t) == -1 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::close` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/screencopy.rs","byte_start":39352,"byte_end":39367,"line_start":979,"line_end":979,"column_start":9,"column_end":24,"is_primary":true,"text":[{"text":" libc::close(fd);","highlight_start":9,"highlight_end":24}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::close` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/screencopy.rs:979:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m979\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m libc::close(fd);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"value assigned to `hung_up` is never read","code":{"code":"unused_assignments","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":58619,"byte_end":58626,"line_start":1209,"line_end":1209,"column_start":17,"column_end":24,"is_primary":true,"text":[{"text":" let mut hung_up = false;","highlight_start":17,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"maybe it is overwritten before being read?","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: value assigned to `hung_up` is never read\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:1209:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1209\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut hung_up = false;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: maybe it is overwritten before being read?\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418755,"byte_end":418812,"line_start":8686,"line_end":8686,"column_start":30,"column_end":87,"is_primary":true,"text":[{"text":" let f: GetViewportCtor = std::mem::transmute(wayland.wl_proxy_marshal_constructor);","highlight_start":30,"highlight_end":87}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418242,"byte_end":418425,"line_start":8671,"line_end":8675,"column_start":1,"column_end":39,"is_primary":true,"text":[{"text":"unsafe fn wp_viewporter_get_viewport(","highlight_start":1,"highlight_end":38},{"text":" wayland: &Wayland,","highlight_start":1,"highlight_end":23},{"text":" viewporter: *mut defines::wp_viewporter,","highlight_start":1,"highlight_end":45},{"text":" surface: *mut defines::wl_surface,","highlight_start":1,"highlight_end":39},{"text":") -> Option<*mut defines::wp_viewport> {","highlight_start":1,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418426,"byte_end":418426,"line_start":8675,"line_end":8675,"column_start":40,"column_end":40,"is_primary":true,"text":[{"text":") -> Option<*mut defines::wp_viewport> {","highlight_start":40,"highlight_end":40}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":419177,"byte_end":419177,"line_start":8699,"line_end":8699,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8686:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8686\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: GetViewportCtor = std::mem::transmute(wayland.wl_proxy_marshal_constructor);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8671:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8671\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn wp_viewporter_get_viewport(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8672\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m wayland: &Wayland,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8673\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m viewporter: *mut defines::wp_viewporter,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8674\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m surface: *mut defines::wl_surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8675\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> Option<*mut defines::wp_viewport> {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|______________________________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":418827,"byte_end":419074,"line_start":8687,"line_end":8693,"column_start":14,"column_end":6,"is_primary":true,"text":[{"text":" let vp = f(","highlight_start":14,"highlight_end":16},{"text":" viewporter as *mut defines::wl_proxy,","highlight_start":1,"highlight_end":46},{"text":" 1, // opcode 1 = get_viewport (opcode 0 is `destroy`!)","highlight_start":1,"highlight_end":63},{"text":" defines::get_wp_viewport_interface(),","highlight_start":1,"highlight_end":46},{"text":" std::ptr::null_mut(), // NULL new_id placeholder (\"n\" arg)","highlight_start":1,"highlight_end":67},{"text":" surface,","highlight_start":1,"highlight_end":17},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8687:14\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8687\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let vp = f(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m ______________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8688\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m viewporter as *mut defines::wl_proxy,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8689\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 1, // opcode 1 = get_viewport (opcode 0 is `destroy`!)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8690\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::get_wp_viewport_interface(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8691\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null_mut(), // NULL new_id placeholder (\"n\" arg)\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8692\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m surface,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8693\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":419781,"byte_end":419826,"line_start":8714,"line_end":8714,"column_start":24,"column_end":69,"is_primary":true,"text":[{"text":" let f: SetDestFn = std::mem::transmute(wayland.wl_proxy_marshal);","highlight_start":24,"highlight_end":69}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":419397,"byte_end":419541,"line_start":8704,"line_end":8709,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe fn wp_viewport_set_destination(","highlight_start":1,"highlight_end":39},{"text":" wayland: &Wayland,","highlight_start":1,"highlight_end":23},{"text":" viewport: *mut defines::wp_viewport,","highlight_start":1,"highlight_end":41},{"text":" logical_w: i32,","highlight_start":1,"highlight_end":20},{"text":" logical_h: i32,","highlight_start":1,"highlight_end":20},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":419542,"byte_end":419542,"line_start":8709,"line_end":8709,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":419897,"byte_end":419897,"line_start":8716,"line_end":8716,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8714:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8714\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: SetDestFn = std::mem::transmute(wayland.wl_proxy_marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8704:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8704\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn wp_viewport_set_destination(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8705\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m wayland: &Wayland,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8706\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m viewport: *mut defines::wp_viewport,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8707\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m logical_w: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8708\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m logical_h: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8709\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":419832,"byte_end":419894,"line_start":8715,"line_end":8715,"column_start":5,"column_end":67,"is_primary":true,"text":[{"text":" f(viewport as *mut defines::wl_proxy, 2, logical_w, logical_h);","highlight_start":5,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8715:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8715\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(viewport as *mut defines::wl_proxy, 2, logical_w, logical_h);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":420191,"byte_end":420236,"line_start":8724,"line_end":8724,"column_start":24,"column_end":69,"is_primary":true,"text":[{"text":" let f: DestroyFn = std::mem::transmute(wayland.wl_proxy_marshal);","highlight_start":24,"highlight_end":69}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":419958,"byte_end":420043,"line_start":8719,"line_end":8719,"column_start":1,"column_end":86,"is_primary":true,"text":[{"text":"unsafe fn wp_viewport_destroy(wayland: &Wayland, viewport: *mut defines::wp_viewport) {","highlight_start":1,"highlight_end":86}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":420044,"byte_end":420044,"line_start":8719,"line_end":8719,"column_start":87,"column_end":87,"is_primary":true,"text":[{"text":"unsafe fn wp_viewport_destroy(wayland: &Wayland, viewport: *mut defines::wp_viewport) {","highlight_start":87,"highlight_end":87}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":420337,"byte_end":420337,"line_start":8727,"line_end":8727,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8724:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8724\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let f: DestroyFn = std::mem::transmute(wayland.wl_proxy_marshal);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8719:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8719\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn wp_viewport_destroy(wayland: &Wayland, viewport: *mut defines::wp_viewport) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":420242,"byte_end":420282,"line_start":8725,"line_end":8725,"column_start":5,"column_end":45,"is_primary":true,"text":[{"text":" f(viewport as *mut defines::wl_proxy, 0);","highlight_start":5,"highlight_end":45}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8725:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8725\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f(viewport as *mut defines::wl_proxy, 0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/wayland/mod.rs","byte_start":420288,"byte_end":420334,"line_start":8726,"line_end":8726,"column_start":5,"column_end":51,"is_primary":true,"text":[{"text":" (wayland.wl_proxy_destroy)(viewport as *mut _);","highlight_start":5,"highlight_end":51}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/wayland/mod.rs:8726:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8726\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (wayland.wl_proxy_destroy)(viewport as *mut _);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `libc::dlsym` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":2082,"byte_end":2123,"line_start":59,"line_end":59,"column_start":19,"column_end":60,"is_primary":true,"text":[{"text":" let sym = libc::dlsym(self.handle, c_name.as_ptr());","highlight_start":19,"highlight_end":60}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":1947,"byte_end":2011,"line_start":57,"line_end":57,"column_start":5,"column_end":69,"is_primary":true,"text":[{"text":" unsafe fn get_symbol(&self, name: &str) -> Result {","highlight_start":5,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":2012,"byte_end":2012,"line_start":57,"line_end":57,"column_start":70,"column_end":70,"is_primary":true,"text":[{"text":" unsafe fn get_symbol(&self, name: &str) -> Result {","highlight_start":70,"highlight_end":70}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":2654,"byte_end":2654,"line_start":74,"line_end":74,"column_start":6,"column_end":6,"is_primary":true,"text":[{"text":" }","highlight_start":6,"highlight_end":6}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `libc::dlsym` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/dlopen.rs:59:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m59\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let sym = libc::dlsym(self.handle, c_name.as_ptr());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/dlopen.rs:57:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m57\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe fn get_symbol(&self, name: &str) -> Result {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::transmute_copy` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/dlopen.rs","byte_start":2607,"byte_end":2637,"line_start":72,"line_end":72,"column_start":16,"column_end":46,"is_primary":true,"text":[{"text":" Ok(std::mem::transmute_copy(&sym))","highlight_start":16,"highlight_end":46}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::transmute_copy` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/dlopen.rs:72:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m72\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Ok(std::mem::transmute_copy(&sym))\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":15432,"byte_end":15471,"line_start":393,"line_end":393,"column_start":17,"column_end":56,"is_primary":true,"text":[{"text":" let sink = &*(client_data as *const ImePreeditSink);","highlight_start":17,"highlight_end":56}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":15246,"byte_end":15360,"line_start":385,"line_end":389,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn preedit_start_cb(","highlight_start":1,"highlight_end":39},{"text":" _xic: XIC,","highlight_start":1,"highlight_end":15},{"text":" client_data: *mut c_void,","highlight_start":1,"highlight_end":30},{"text":" _call_data: *mut c_void,","highlight_start":1,"highlight_end":29},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":15361,"byte_end":15361,"line_start":389,"line_end":389,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":15574,"byte_end":15574,"line_start":397,"line_end":397,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:393:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let sink = &*(client_data as *const ImePreeditSink);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:385:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m385\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn preedit_start_cb(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m386\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m _xic: XIC,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m387\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m client_data: *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m388\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m _call_data: *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m389\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":15746,"byte_end":15785,"line_start":403,"line_end":403,"column_start":17,"column_end":56,"is_primary":true,"text":[{"text":" let sink = &*(client_data as *const ImePreeditSink);","highlight_start":17,"highlight_end":56}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":15576,"byte_end":15674,"line_start":399,"line_end":399,"column_start":1,"column_end":99,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn preedit_done_cb(_xic: XIC, client_data: *mut c_void, _call_data: *mut c_void) {","highlight_start":1,"highlight_end":99}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":15675,"byte_end":15675,"line_start":399,"line_end":399,"column_start":100,"column_end":100,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn preedit_done_cb(_xic: XIC, client_data: *mut c_void, _call_data: *mut c_void) {","highlight_start":100,"highlight_end":100}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":15873,"byte_end":15873,"line_start":407,"line_end":407,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:403:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m403\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let sink = &*(client_data as *const ImePreeditSink);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:399:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m399\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn preedit_done_cb(_xic: XIC, client_data: *mut c_void, _call_data: *mut c_void) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":16067,"byte_end":16106,"line_start":413,"line_end":413,"column_start":17,"column_end":56,"is_primary":true,"text":[{"text":" let sink = &*(client_data as *const ImePreeditSink);","highlight_start":17,"highlight_end":56}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":15875,"byte_end":15972,"line_start":409,"line_end":409,"column_start":1,"column_end":98,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn preedit_draw_cb(_xic: XIC, client_data: *mut c_void, call_data: *mut c_void) {","highlight_start":1,"highlight_end":98}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":15973,"byte_end":15973,"line_start":409,"line_end":409,"column_start":99,"column_end":99,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn preedit_draw_cb(_xic: XIC, client_data: *mut c_void, call_data: *mut c_void) {","highlight_start":99,"highlight_end":99}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":17447,"byte_end":17447,"line_start":447,"line_end":447,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:413:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let sink = &*(client_data as *const ImePreeditSink);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:409:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn preedit_draw_cb(_xic: XIC, client_data: *mut c_void, call_data: *mut c_void) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":16124,"byte_end":16175,"line_start":414,"line_end":414,"column_start":17,"column_end":68,"is_primary":true,"text":[{"text":" let draw = &*(call_data as *const XIMPreeditDrawCallbackStruct);","highlight_start":17,"highlight_end":68}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:414:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let draw = &*(call_data as *const XIMPreeditDrawCallbackStruct);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":16490,"byte_end":16500,"line_start":422,"line_end":422,"column_start":21,"column_end":31,"is_primary":true,"text":[{"text":" let text = &*draw.text;","highlight_start":21,"highlight_end":31}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:422:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m422\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let text = &*draw.text;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":16623,"byte_end":16650,"line_start":426,"line_end":426,"column_start":13,"column_end":40,"is_primary":true,"text":[{"text":" CStr::from_ptr(text.string).to_string_lossy().into_owned()","highlight_start":13,"highlight_end":40}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:426:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m426\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m CStr::from_ptr(text.string).to_string_lossy().into_owned()\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":17642,"byte_end":17681,"line_start":453,"line_end":453,"column_start":17,"column_end":56,"is_primary":true,"text":[{"text":" let sink = &*(client_data as *const ImePreeditSink);","highlight_start":17,"highlight_end":56}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":17449,"byte_end":17547,"line_start":449,"line_end":449,"column_start":1,"column_end":99,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn preedit_caret_cb(_xic: XIC, client_data: *mut c_void, call_data: *mut c_void) {","highlight_start":1,"highlight_end":99}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":17548,"byte_end":17548,"line_start":449,"line_end":449,"column_start":100,"column_end":100,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn preedit_caret_cb(_xic: XIC, client_data: *mut c_void, call_data: *mut c_void) {","highlight_start":100,"highlight_end":100}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":17817,"byte_end":17817,"line_start":457,"line_end":457,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:453:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m453\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let sink = &*(client_data as *const ImePreeditSink);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:449:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m449\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn preedit_caret_cb(_xic: XIC, client_data: *mut c_void, call_data: *mut c_void) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/events.rs","byte_start":17700,"byte_end":17752,"line_start":454,"line_end":454,"column_start":18,"column_end":70,"is_primary":true,"text":[{"text":" let caret = &*(call_data as *const XIMPreeditCaretCallbackStruct);","highlight_start":18,"highlight_end":70}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/events.rs:454:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m454\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let caret = &*(call_data as *const XIMPreeditCaretCallbackStruct);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":13332,"byte_end":13407,"line_start":365,"line_end":365,"column_start":16,"column_end":91,"is_primary":true,"text":[{"text":" let atom = (xlib.XInternAtom)(display, b\"_NET_WM_ICON\\0\".as_ptr() as *const c_char, 0);","highlight_start":16,"highlight_end":91}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":12324,"byte_end":12469,"line_start":329,"line_end":334,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe fn apply_net_wm_icon(","highlight_start":1,"highlight_end":29},{"text":" xlib: &Xlib,","highlight_start":1,"highlight_end":17},{"text":" display: *mut defines::Display,","highlight_start":1,"highlight_end":36},{"text":" window: defines::Window,","highlight_start":1,"highlight_end":29},{"text":" icons: &[(u32, u32, &[u8])],","highlight_start":1,"highlight_end":33},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":12470,"byte_end":12470,"line_start":334,"line_end":334,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":13673,"byte_end":13673,"line_start":380,"line_end":380,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:365:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m365\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let atom = (xlib.XInternAtom)(display, b\"_NET_WM_ICON\\0\".as_ptr() as *const c_char, 0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:329:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m329\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn apply_net_wm_icon(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m xlib: &Xlib,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m331\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m display: *mut defines::Display,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m332\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: defines::Window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m333\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m icons: &[(u32, u32, &[u8])],\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m334\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":13455,"byte_end":13670,"line_start":370,"line_end":379,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" (xlib.XChangeProperty)(","highlight_start":5,"highlight_end":28},{"text":" display,","highlight_start":1,"highlight_end":17},{"text":" window,","highlight_start":1,"highlight_end":16},{"text":" atom,","highlight_start":1,"highlight_end":14},{"text":" defines::XA_CARDINAL,","highlight_start":1,"highlight_end":30},{"text":" 32,","highlight_start":1,"highlight_end":12},{"text":" defines::PropModeReplace,","highlight_start":1,"highlight_end":34},{"text":" data.as_ptr() as *const u8,","highlight_start":1,"highlight_end":36},{"text":" data.len() as i32,","highlight_start":1,"highlight_end":27},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:370:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m370\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (xlib.XChangeProperty)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m371\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m display,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m372\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m373\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m atom,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m378\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m data.len() as i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m379\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":15226,"byte_end":15304,"line_start":422,"line_end":422,"column_start":16,"column_end":94,"is_primary":true,"text":[{"text":" let atom = (xlib.XInternAtom)(display, b\"_MOTIF_WM_HINTS\\0\".as_ptr() as *const c_char, 0);","highlight_start":16,"highlight_end":94}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":14184,"byte_end":14354,"line_start":390,"line_end":395,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe fn apply_motif_wm_hints(","highlight_start":1,"highlight_end":32},{"text":" xlib: &Xlib,","highlight_start":1,"highlight_end":17},{"text":" display: *mut defines::Display,","highlight_start":1,"highlight_end":36},{"text":" window: defines::Window,","highlight_start":1,"highlight_end":29},{"text":" decorations: azul_core::window::WindowDecorations,","highlight_start":1,"highlight_end":55},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":14355,"byte_end":14355,"line_start":395,"line_end":395,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":15604,"byte_end":15604,"line_start":436,"line_end":436,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:422:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m422\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let atom = (xlib.XInternAtom)(display, b\"_MOTIF_WM_HINTS\\0\".as_ptr() as *const c_char, 0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:390:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m390\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn apply_motif_wm_hints(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m391\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m xlib: &Xlib,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m392\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m display: *mut defines::Display,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m393\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window: defines::Window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m394\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m decorations: azul_core::window::WindowDecorations,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m395\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":15351,"byte_end":15601,"line_start":426,"line_end":435,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" (xlib.XChangeProperty)(","highlight_start":5,"highlight_end":28},{"text":" display,","highlight_start":1,"highlight_end":17},{"text":" window,","highlight_start":1,"highlight_end":16},{"text":" atom,","highlight_start":1,"highlight_end":14},{"text":" atom, // property type = the _MOTIF_WM_HINTS atom itself","highlight_start":1,"highlight_end":65},{"text":" 32,","highlight_start":1,"highlight_end":12},{"text":" defines::PropModeReplace,","highlight_start":1,"highlight_end":34},{"text":" &hints as *const MotifWmHints as *const u8,","highlight_start":1,"highlight_end":52},{"text":" 5,","highlight_start":1,"highlight_end":11},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:426:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m426\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (xlib.XChangeProperty)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m427\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m display,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m428\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m429\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m atom,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m434\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 5,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m435\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":30045,"byte_end":30284,"line_start":832,"line_end":845,"column_start":18,"column_end":6,"is_primary":true,"text":[{"text":" let status = (xi.XIGetProperty)(","highlight_start":18,"highlight_end":37},{"text":" display,","highlight_start":1,"highlight_end":17},{"text":" deviceid,","highlight_start":1,"highlight_end":18},{"text":" prop,","highlight_start":1,"highlight_end":14},{"text":" 0,","highlight_start":1,"highlight_end":11},{"text":" 64,","highlight_start":1,"highlight_end":12},{"text":" 0,","highlight_start":1,"highlight_end":11},{"text":" 0, // AnyPropertyType","highlight_start":1,"highlight_end":30},{"text":" &mut type_ret,","highlight_start":1,"highlight_end":23},{"text":" &mut fmt,","highlight_start":1,"highlight_end":18},{"text":" &mut nitems,","highlight_start":1,"highlight_end":21},{"text":" &mut after,","highlight_start":1,"highlight_end":20},{"text":" &mut data,","highlight_start":1,"highlight_end":19},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":29590,"byte_end":29767,"line_start":817,"line_end":823,"column_start":1,"column_end":30,"is_primary":true,"text":[{"text":"unsafe fn xi_get_property_bytes(","highlight_start":1,"highlight_end":33},{"text":" xlib: &Rc,","highlight_start":1,"highlight_end":21},{"text":" xi: &dlopen::Xi,","highlight_start":1,"highlight_end":21},{"text":" display: *mut Display,","highlight_start":1,"highlight_end":27},{"text":" deviceid: c_int,","highlight_start":1,"highlight_end":21},{"text":" prop: defines::Atom,","highlight_start":1,"highlight_end":25},{"text":") -> Option<(Vec, c_int)> {","highlight_start":1,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":29768,"byte_end":29768,"line_start":823,"line_end":823,"column_start":31,"column_end":31,"is_primary":true,"text":[{"text":") -> Option<(Vec, c_int)> {","highlight_start":31,"highlight_end":31}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":30549,"byte_end":30549,"line_start":853,"line_end":853,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:832:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m832\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let status = (xi.XIGetProperty)(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m __________________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m833\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m display,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m834\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m deviceid,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m835\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m prop,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m844\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut data,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m845\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:817:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m817\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn xi_get_property_bytes(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m818\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m xlib: &Rc,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m819\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m xi: &dlopen::Xi,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m820\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m display: *mut Display,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m821\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m deviceid: c_int,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m822\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m prop: defines::Atom,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m823\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> Option<(Vec, c_int)> {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_____________________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":30443,"byte_end":30480,"line_start":850,"line_end":850,"column_start":17,"column_end":54,"is_primary":true,"text":[{"text":" let bytes = std::slice::from_raw_parts(data, len).to_vec();","highlight_start":17,"highlight_end":54}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:850:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m850\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let bytes = std::slice::from_raw_parts(data, len).to_vec();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":30495,"byte_end":30523,"line_start":851,"line_end":851,"column_start":5,"column_end":33,"is_primary":true,"text":[{"text":" (xlib.XFree)(data as *mut _);","highlight_start":5,"highlight_end":33}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:851:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m851\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (xlib.XFree)(data as *mut _);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::x11::decode_valuator` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":51559,"byte_end":51586,"line_start":1274,"line_end":1274,"column_start":17,"column_end":44,"is_primary":true,"text":[{"text":" let value = decode_valuator(ev, number)?;","highlight_start":17,"highlight_end":44}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":51317,"byte_end":51450,"line_start":1265,"line_end":1269,"column_start":1,"column_end":17,"is_primary":true,"text":[{"text":"unsafe fn scroll_axis_delta(","highlight_start":1,"highlight_end":29},{"text":" win: &mut X11Window,","highlight_start":1,"highlight_end":25},{"text":" ev: &defines::XIDeviceEvent,","highlight_start":1,"highlight_end":33},{"text":" axis: Option<(i32, f64)>,","highlight_start":1,"highlight_end":30},{"text":") -> Option {","highlight_start":1,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":51451,"byte_end":51451,"line_start":1269,"line_end":1269,"column_start":18,"column_end":18,"is_primary":true,"text":[{"text":") -> Option {","highlight_start":18,"highlight_end":18}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":51712,"byte_end":51712,"line_start":1277,"line_end":1277,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::x11::decode_valuator` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1274:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let value = decode_valuator(ev, number)?;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1265:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1265\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn scroll_axis_delta(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1266\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m win: &mut X11Window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ev: &defines::XIDeviceEvent,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1268\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m axis: Option<(i32, f64)>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1269\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> Option {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::x11::scroll_axis_delta` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":52183,"byte_end":52220,"line_start":1289,"line_end":1289,"column_start":16,"column_end":53,"is_primary":true,"text":[{"text":" let vert = scroll_axis_delta(win, ev, axes.vert).unwrap_or(0.0);","highlight_start":16,"highlight_end":53}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":51989,"byte_end":52108,"line_start":1284,"line_end":1287,"column_start":1,"column_end":30,"is_primary":true,"text":[{"text":"unsafe fn decode_smooth_scroll(","highlight_start":1,"highlight_end":32},{"text":" win: &mut X11Window,","highlight_start":1,"highlight_end":25},{"text":" ev: &defines::XIDeviceEvent,","highlight_start":1,"highlight_end":33},{"text":") -> Option<(f32, f32, bool)> {","highlight_start":1,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":52109,"byte_end":52109,"line_start":1287,"line_end":1287,"column_start":31,"column_end":31,"is_primary":true,"text":[{"text":") -> Option<(f32, f32, bool)> {","highlight_start":31,"highlight_end":31}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":52770,"byte_end":52770,"line_start":1303,"line_end":1303,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::x11::scroll_axis_delta` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1289:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1289\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let vert = scroll_axis_delta(win, ev, axes.vert).unwrap_or(0.0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1284:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1284\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn decode_smooth_scroll(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1285\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m win: &mut X11Window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1286\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ev: &defines::XIDeviceEvent,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> Option<(f32, f32, bool)> {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_____________________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::shell2::linux::x11::scroll_axis_delta` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":52253,"byte_end":52291,"line_start":1290,"line_end":1290,"column_start":17,"column_end":55,"is_primary":true,"text":[{"text":" let horiz = scroll_axis_delta(win, ev, axes.horiz).unwrap_or(0.0);","highlight_start":17,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::shell2::linux::x11::scroll_axis_delta` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1290:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1290\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let horiz = scroll_axis_delta(win, ev, axes.horiz).unwrap_or(0.0);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":54434,"byte_end":54455,"line_start":1345,"line_end":1345,"column_start":8,"column_end":29,"is_primary":true,"text":[{"text":" if *vs.mask.offset(byte) & (1 << (number & 7)) == 0 {","highlight_start":8,"highlight_end":29}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":54142,"byte_end":54224,"line_start":1336,"line_end":1336,"column_start":1,"column_end":83,"is_primary":true,"text":[{"text":"unsafe fn decode_valuator(ev: &defines::XIDeviceEvent, number: i32) -> Option {","highlight_start":1,"highlight_end":83}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":54225,"byte_end":54225,"line_start":1336,"line_end":1336,"column_start":84,"column_end":84,"is_primary":true,"text":[{"text":"unsafe fn decode_valuator(ev: &defines::XIDeviceEvent, number: i32) -> Option {","highlight_start":84,"highlight_end":84}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":54705,"byte_end":54705,"line_start":1355,"line_end":1355,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1345:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1345\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if *vs.mask.offset(byte) & (1 << (number & 7)) == 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1336:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1336\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn decode_valuator(ev: &defines::XIDeviceEvent, number: i32) -> Option {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ptr::mut_ptr::::offset` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":54435,"byte_end":54455,"line_start":1345,"line_end":1345,"column_start":9,"column_end":29,"is_primary":true,"text":[{"text":" if *vs.mask.offset(byte) & (1 << (number & 7)) == 0 {","highlight_start":9,"highlight_end":29}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ptr::mut_ptr::::offset` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1345:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1345\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if *vs.mask.offset(byte) & (1 << (number & 7)) == 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":54574,"byte_end":54608,"line_start":1350,"line_end":1350,"column_start":12,"column_end":46,"is_primary":true,"text":[{"text":" if *vs.mask.offset((k >> 3) as isize) & (1 << (k & 7)) != 0 {","highlight_start":12,"highlight_end":46}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1350:12\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1350\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if *vs.mask.offset((k >> 3) as isize) & (1 << (k & 7)) != 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ptr::mut_ptr::::offset` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":54575,"byte_end":54608,"line_start":1350,"line_end":1350,"column_start":13,"column_end":46,"is_primary":true,"text":[{"text":" if *vs.mask.offset((k >> 3) as isize) & (1 << (k & 7)) != 0 {","highlight_start":13,"highlight_end":46}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ptr::mut_ptr::::offset` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1350:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1350\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if *vs.mask.offset((k >> 3) as isize) & (1 << (k & 7)) != 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":54680,"byte_end":54702,"line_start":1354,"line_end":1354,"column_start":10,"column_end":32,"is_primary":true,"text":[{"text":" Some(*vs.values.offset(idx))","highlight_start":10,"highlight_end":32}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1354:10\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1354\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Some(*vs.values.offset(idx))\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ptr::mut_ptr::::offset` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":54681,"byte_end":54702,"line_start":1354,"line_end":1354,"column_start":11,"column_end":32,"is_primary":true,"text":[{"text":" Some(*vs.values.offset(idx))","highlight_start":11,"highlight_end":32}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ptr::mut_ptr::::offset` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1354:11\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1354\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m Some(*vs.values.offset(idx))\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":75467,"byte_end":75535,"line_start":1832,"line_end":1832,"column_start":16,"column_end":84,"is_primary":true,"text":[{"text":" let info = (xi.XIQueryDevice)(win.display, defines::XIAllMasterDevices, &mut n);","highlight_start":16,"highlight_end":84}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":75211,"byte_end":75303,"line_start":1826,"line_end":1826,"column_start":1,"column_end":93,"is_primary":true,"text":[{"text":"unsafe fn query_master_keyboards(win: &X11Window) -> std::collections::HashMap {","highlight_start":1,"highlight_end":93}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":75304,"byte_end":75304,"line_start":1826,"line_end":1826,"column_start":94,"column_end":94,"is_primary":true,"text":[{"text":"unsafe fn query_master_keyboards(win: &X11Window) -> std::collections::HashMap {","highlight_start":94,"highlight_end":94}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":75814,"byte_end":75814,"line_start":1844,"line_end":1844,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1832:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1832\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let info = (xi.XIQueryDevice)(win.display, defines::XIAllMasterDevices, &mut n);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1826:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1826\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn query_master_keyboards(win: &X11Window) -> std::collections::HashMap {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":75640,"byte_end":75655,"line_start":1837,"line_end":1837,"column_start":18,"column_end":33,"is_primary":true,"text":[{"text":" let d = &*info.offset(i);","highlight_start":18,"highlight_end":33}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1837:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1837\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let d = &*info.offset(i);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ptr::mut_ptr::::offset` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":75641,"byte_end":75655,"line_start":1837,"line_end":1837,"column_start":19,"column_end":33,"is_primary":true,"text":[{"text":" let d = &*info.offset(i);","highlight_start":19,"highlight_end":33}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ptr::mut_ptr::::offset` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1837:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1837\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let d = &*info.offset(i);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":75776,"byte_end":75803,"line_start":1842,"line_end":1842,"column_start":5,"column_end":32,"is_primary":true,"text":[{"text":" (xi.XIFreeDeviceInfo)(info);","highlight_start":5,"highlight_end":32}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:1842:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m1842\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (xi.XIFreeDeviceInfo)(info);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":83366,"byte_end":83415,"line_start":2029,"line_end":2029,"column_start":16,"column_end":65,"is_primary":true,"text":[{"text":" let info = (xi.XIQueryDevice)(win.display, sourceid, &mut n);","highlight_start":16,"highlight_end":65}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":82992,"byte_end":83105,"line_start":2017,"line_end":2020,"column_start":1,"column_end":38,"is_primary":true,"text":[{"text":"unsafe fn classify_xi_device(","highlight_start":1,"highlight_end":30},{"text":" win: &mut X11Window,","highlight_start":1,"highlight_end":25},{"text":" sourceid: c_int,","highlight_start":1,"highlight_end":21},{"text":") -> azul_core::events::PointerSource {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":83106,"byte_end":83106,"line_start":2020,"line_end":2020,"column_start":39,"column_end":39,"is_primary":true,"text":[{"text":") -> azul_core::events::PointerSource {","highlight_start":39,"highlight_end":39}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":83945,"byte_end":83945,"line_start":2046,"line_end":2046,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2029:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2029\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let info = (xi.XIQueryDevice)(win.display, sourceid, &mut n);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2017:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2017\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn classify_xi_device(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2018\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m win: &mut X11Window,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2019\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m sourceid: c_int,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2020\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> azul_core::events::PointerSource {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_____________________________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":83525,"byte_end":83530,"line_start":2033,"line_end":2033,"column_start":22,"column_end":27,"is_primary":true,"text":[{"text":" let d = &*info;","highlight_start":22,"highlight_end":27}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2033:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2033\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let d = &*info;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":83601,"byte_end":83633,"line_start":2035,"line_end":2035,"column_start":35,"column_end":67,"is_primary":true,"text":[{"text":" if let Ok(name) = std::ffi::CStr::from_ptr(d.name).to_str() {","highlight_start":35,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2035:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2035\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if let Ok(name) = std::ffi::CStr::from_ptr(d.name).to_str() {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":83847,"byte_end":83874,"line_start":2042,"line_end":2042,"column_start":9,"column_end":36,"is_primary":true,"text":[{"text":" (xi.XIFreeDeviceInfo)(info);","highlight_start":9,"highlight_end":36}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:2042:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2042\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (xi.XIFreeDeviceInfo)(info);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"value assigned to `t_vview_ms` is never read","code":{"code":"unused_assignments","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":305486,"byte_end":305496,"line_start":6533,"line_end":6533,"column_start":29,"column_end":39,"is_primary":true,"text":[{"text":" let mut t_vview_ms = 0.0f64;","highlight_start":29,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"maybe it is overwritten before being read?","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: value assigned to `t_vview_ms` is never read\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6533:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6533\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut t_vview_ms = 0.0f64;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: maybe it is overwritten before being read?\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"value assigned to `t_prepare_ms` is never read","code":{"code":"unused_assignments","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":305535,"byte_end":305547,"line_start":6534,"line_end":6534,"column_start":29,"column_end":41,"is_primary":true,"text":[{"text":" let mut t_prepare_ms = 0.0f64;","highlight_start":29,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"maybe it is overwritten before being read?","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: value assigned to `t_prepare_ms` is never read\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:6534:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m6534\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut t_prepare_ms = 0.0f64;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: maybe it is overwritten before being read?\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391350,"byte_end":391390,"line_start":8360,"line_end":8360,"column_start":22,"column_end":62,"is_primary":true,"text":[{"text":" let screen = (self.xlib.XDefaultScreen)(self.display);","highlight_start":22,"highlight_end":62}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391294,"byte_end":391326,"line_start":8359,"line_end":8359,"column_start":5,"column_end":37,"is_primary":true,"text":[{"text":" unsafe fn send_wm_iconify(&self) {","highlight_start":5,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391327,"byte_end":391327,"line_start":8359,"line_end":8359,"column_start":38,"column_end":38,"is_primary":true,"text":[{"text":" unsafe fn send_wm_iconify(&self) {","highlight_start":38,"highlight_end":38}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392107,"byte_end":392107,"line_start":8381,"line_end":8381,"column_start":6,"column_end":6,"is_primary":true,"text":[{"text":" }","highlight_start":6,"highlight_end":6}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8360:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8360\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let screen = (self.xlib.XDefaultScreen)(self.display);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8359:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe fn send_wm_iconify(&self) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391411,"byte_end":391456,"line_start":8361,"line_end":8361,"column_start":20,"column_end":65,"is_primary":true,"text":[{"text":" let root = (self.xlib.XRootWindow)(self.display, screen);","highlight_start":20,"highlight_end":65}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8361:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8361\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let root = (self.xlib.XRootWindow)(self.display, screen);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391513,"byte_end":391531,"line_start":8363,"line_end":8363,"column_start":55,"column_end":73,"is_primary":true,"text":[{"text":" let mut event: defines::XClientMessageEvent = std::mem::zeroed();","highlight_start":55,"highlight_end":73}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8363:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8363\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut event: defines::XClientMessageEvent = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391644,"byte_end":391779,"line_start":8366,"line_end":8370,"column_start":30,"column_end":10,"is_primary":true,"text":[{"text":" event.message_type = (self.xlib.XInternAtom)(","highlight_start":30,"highlight_end":54},{"text":" self.display,","highlight_start":1,"highlight_end":26},{"text":" b\"WM_CHANGE_STATE\\0\".as_ptr() as *const c_char,","highlight_start":1,"highlight_end":60},{"text":" 0,","highlight_start":1,"highlight_end":15},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8366:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8366\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event.message_type = (self.xlib.XInternAtom)(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m ______________________________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8367\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self.display,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8368\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m b\"WM_CHANGE_STATE\\0\".as_ptr() as *const c_char,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8369\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 0,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8370\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"access to union field is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391816,"byte_end":391828,"line_start":8372,"line_end":8372,"column_start":9,"column_end":21,"is_primary":true,"text":[{"text":" event.data.l[0] = 3; // IconicState (ICCCM)","highlight_start":9,"highlight_end":21}],"label":"access to union field","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"the field may not be properly initialized: using uninitialized data will cause undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: access to union field is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8372:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8372\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event.data.l[0] = 3; // IconicState (ICCCM)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33maccess to union field\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: the field may not be properly initialized: using uninitialized data will cause undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":391869,"byte_end":392100,"line_start":8374,"line_end":8380,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" (self.xlib.XSendEvent)(","highlight_start":9,"highlight_end":32},{"text":" self.display,","highlight_start":1,"highlight_end":26},{"text":" root,","highlight_start":1,"highlight_end":18},{"text":" 0,","highlight_start":1,"highlight_end":15},{"text":" defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,","highlight_start":1,"highlight_end":81},{"text":" &mut event as *mut _ as *mut defines::XEvent,","highlight_start":1,"highlight_end":58},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8374:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8374\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.xlib.XSendEvent)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8375\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self.display,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8376\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m root,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8377\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 0,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8378\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8379\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut event as *mut _ as *mut defines::XEvent,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8380\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392289,"byte_end":392329,"line_start":8389,"line_end":8389,"column_start":22,"column_end":62,"is_primary":true,"text":[{"text":" let screen = (self.xlib.XDefaultScreen)(self.display);","highlight_start":22,"highlight_end":62}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392113,"byte_end":392265,"line_start":8383,"line_end":8388,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" unsafe fn send_wm_state_change(","highlight_start":5,"highlight_end":36},{"text":" &self,","highlight_start":1,"highlight_end":15},{"text":" action: std::os::raw::c_long,","highlight_start":1,"highlight_end":38},{"text":" atom1_name: &[u8],","highlight_start":1,"highlight_end":27},{"text":" atom2_name: Option<&[u8]>,","highlight_start":1,"highlight_end":35},{"text":" ) {","highlight_start":1,"highlight_end":6}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392266,"byte_end":392266,"line_start":8388,"line_end":8388,"column_start":7,"column_end":7,"is_primary":true,"text":[{"text":" ) {","highlight_start":7,"highlight_end":7}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":393404,"byte_end":393404,"line_start":8418,"line_end":8418,"column_start":6,"column_end":6,"is_primary":true,"text":[{"text":" }","highlight_start":6,"highlight_end":6}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8389:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8389\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let screen = (self.xlib.XDefaultScreen)(self.display);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8383:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8383\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m unsafe fn send_wm_state_change(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8384\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &self,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8385\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m action: std::os::raw::c_long,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8386\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m atom1_name: &[u8],\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8387\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m atom2_name: Option<&[u8]>,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8388\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_____^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392350,"byte_end":392395,"line_start":8390,"line_end":8390,"column_start":20,"column_end":65,"is_primary":true,"text":[{"text":" let root = (self.xlib.XRootWindow)(self.display, screen);","highlight_start":20,"highlight_end":65}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8390:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8390\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let root = (self.xlib.XRootWindow)(self.display, screen);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392452,"byte_end":392470,"line_start":8392,"line_end":8392,"column_start":55,"column_end":73,"is_primary":true,"text":[{"text":" let mut event: defines::XClientMessageEvent = std::mem::zeroed();","highlight_start":55,"highlight_end":73}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8392:55\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8392\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut event: defines::XClientMessageEvent = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392583,"byte_end":392716,"line_start":8395,"line_end":8399,"column_start":30,"column_end":10,"is_primary":true,"text":[{"text":" event.message_type = (self.xlib.XInternAtom)(","highlight_start":30,"highlight_end":54},{"text":" self.display,","highlight_start":1,"highlight_end":26},{"text":" b\"_NET_WM_STATE\\0\".as_ptr() as *const c_char,","highlight_start":1,"highlight_end":58},{"text":" 0,","highlight_start":1,"highlight_end":15},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8395:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8395\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event.message_type = (self.xlib.XInternAtom)(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m ______________________________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8396\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self.display,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8397\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m b\"_NET_WM_STATE\\0\".as_ptr() as *const c_char,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8398\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 0,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8399\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"access to union field is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392753,"byte_end":392765,"line_start":8401,"line_end":8401,"column_start":9,"column_end":21,"is_primary":true,"text":[{"text":" event.data.l[0] = action;","highlight_start":9,"highlight_end":21}],"label":"access to union field","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"the field may not be properly initialized: using uninitialized data will cause undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: access to union field is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8401:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8401\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event.data.l[0] = action;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33maccess to union field\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: the field may not be properly initialized: using uninitialized data will cause undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"access to union field is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392787,"byte_end":392799,"line_start":8402,"line_end":8402,"column_start":9,"column_end":21,"is_primary":true,"text":[{"text":" event.data.l[1] =","highlight_start":9,"highlight_end":21}],"label":"access to union field","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"the field may not be properly initialized: using uninitialized data will cause undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: access to union field is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8402:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8402\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event.data.l[1] =\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33maccess to union field\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: the field may not be properly initialized: using uninitialized data will cause undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392817,"byte_end":392895,"line_start":8403,"line_end":8403,"column_start":13,"column_end":91,"is_primary":true,"text":[{"text":" (self.xlib.XInternAtom)(self.display, atom1_name.as_ptr() as *const c_char, 0)","highlight_start":13,"highlight_end":91}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8403:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8403\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.xlib.XInternAtom)(self.display, atom1_name.as_ptr() as *const c_char, 0)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"access to union field is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":392988,"byte_end":393000,"line_start":8406,"line_end":8406,"column_start":13,"column_end":25,"is_primary":true,"text":[{"text":" event.data.l[2] = (self.xlib.XInternAtom)(self.display, a2.as_ptr() as *const c_char, 0)","highlight_start":13,"highlight_end":25}],"label":"access to union field","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"the field may not be properly initialized: using uninitialized data will cause undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: access to union field is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8406:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event.data.l[2] = (self.xlib.XInternAtom)(self.display, a2.as_ptr() as *const c_char, 0)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33maccess to union field\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: the field may not be properly initialized: using uninitialized data will cause undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":393006,"byte_end":393076,"line_start":8406,"line_end":8406,"column_start":31,"column_end":101,"is_primary":true,"text":[{"text":" event.data.l[2] = (self.xlib.XInternAtom)(self.display, a2.as_ptr() as *const c_char, 0)","highlight_start":31,"highlight_end":101}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8406:31\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event.data.l[2] = (self.xlib.XInternAtom)(self.display, a2.as_ptr() as *const c_char, 0)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"access to union field is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":393136,"byte_end":393148,"line_start":8409,"line_end":8409,"column_start":9,"column_end":21,"is_primary":true,"text":[{"text":" event.data.l[3] = 1;","highlight_start":9,"highlight_end":21}],"label":"access to union field","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"the field may not be properly initialized: using uninitialized data will cause undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: access to union field is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8409:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m event.data.l[3] = 1;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33maccess to union field\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: the field may not be properly initialized: using uninitialized data will cause undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":393166,"byte_end":393397,"line_start":8411,"line_end":8417,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" (self.xlib.XSendEvent)(","highlight_start":9,"highlight_end":32},{"text":" self.display,","highlight_start":1,"highlight_end":26},{"text":" root,","highlight_start":1,"highlight_end":18},{"text":" 0,","highlight_start":1,"highlight_end":15},{"text":" defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,","highlight_start":1,"highlight_end":81},{"text":" &mut event as *mut _ as *mut defines::XEvent,","highlight_start":1,"highlight_end":58},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:8411:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8411\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (self.xlib.XSendEvent)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m self.display,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8413\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m root,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8414\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m 0,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8415\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m defines::SubstructureNotifyMask | defines::SubstructureRedirectMask,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8416\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut event as *mut _ as *mut defines::XEvent,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m8417\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":432846,"byte_end":432899,"line_start":9377,"line_end":9377,"column_start":23,"column_end":76,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIGesturePinchEvent);","highlight_start":23,"highlight_end":76}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":432038,"byte_end":432131,"line_start":9360,"line_end":9360,"column_start":1,"column_end":94,"is_primary":true,"text":[{"text":"unsafe fn handle_xi_gesture_event(win: &mut X11Window, cookie: &defines::XGenericEventCookie) {","highlight_start":1,"highlight_end":94}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":432132,"byte_end":432132,"line_start":9360,"line_end":9360,"column_start":95,"column_end":95,"is_primary":true,"text":[{"text":"unsafe fn handle_xi_gesture_event(win: &mut X11Window, cookie: &defines::XGenericEventCookie) {","highlight_start":95,"highlight_end":95}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":436901,"byte_end":436901,"line_start":9467,"line_end":9467,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9377:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9377\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ev = &*(cookie.data as *const defines::XIGesturePinchEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9360:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9360\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn handle_xi_gesture_event(win: &mut X11Window, cookie: &defines::XGenericEventCookie) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":434282,"byte_end":434335,"line_start":9407,"line_end":9407,"column_start":23,"column_end":76,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIGesturePinchEvent);","highlight_start":23,"highlight_end":76}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9407:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9407\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ev = &*(cookie.data as *const defines::XIGesturePinchEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":435577,"byte_end":435630,"line_start":9433,"line_end":9433,"column_start":23,"column_end":76,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIGestureSwipeEvent);","highlight_start":23,"highlight_end":76}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9433:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9433\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ev = &*(cookie.data as *const defines::XIGestureSwipeEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":435821,"byte_end":435874,"line_start":9438,"line_end":9438,"column_start":23,"column_end":76,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIGestureSwipeEvent);","highlight_start":23,"highlight_end":76}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9438:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9438\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ev = &*(cookie.data as *const defines::XIGestureSwipeEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":437517,"byte_end":437561,"line_start":9484,"line_end":9484,"column_start":15,"column_end":59,"is_primary":true,"text":[{"text":" let ev = &*(cookie.data as *const defines::XIRawEvent);","highlight_start":15,"highlight_end":59}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":437275,"byte_end":437365,"line_start":9475,"line_end":9475,"column_start":1,"column_end":91,"is_primary":true,"text":[{"text":"unsafe fn handle_xi_raw_motion(win: &mut X11Window, cookie: &defines::XGenericEventCookie) {","highlight_start":1,"highlight_end":91}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":437366,"byte_end":437366,"line_start":9475,"line_end":9475,"column_start":92,"column_end":92,"is_primary":true,"text":[{"text":"unsafe fn handle_xi_raw_motion(win: &mut X11Window, cookie: &defines::XGenericEventCookie) {","highlight_start":92,"highlight_end":92}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":439181,"byte_end":439181,"line_start":9532,"line_end":9532,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9484:15\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9484\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let ev = &*(cookie.data as *const defines::XIRawEvent);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9475:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn handle_xi_raw_motion(win: &mut X11Window, cookie: &defines::XGenericEventCookie) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":437966,"byte_end":438051,"line_start":9495,"line_end":9495,"column_start":9,"column_end":94,"is_primary":true,"text":[{"text":" core::slice::from_raw_parts(ev.valuators.mask, ev.valuators.mask_len.max(0) as usize);","highlight_start":9,"highlight_end":94}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9495:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9495\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m core::slice::from_raw_parts(ev.valuators.mask, ev.valuators.mask_len.max(0) as usize);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":438340,"byte_end":438366,"line_start":9506,"line_end":9506,"column_start":21,"column_end":47,"is_primary":true,"text":[{"text":" let v = *ev.raw_values.add(packed);","highlight_start":21,"highlight_end":47}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9506:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9506\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let v = *ev.raw_values.add(packed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/linux/x11/mod.rs","byte_start":438341,"byte_end":438366,"line_start":9506,"line_end":9506,"column_start":22,"column_end":47,"is_primary":true,"text":[{"text":" let v = *ev.raw_values.add(packed);","highlight_start":22,"highlight_end":47}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ptr::mut_ptr::::add` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/linux/x11/mod.rs:9506:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m9506\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let v = *ev.raw_values.add(packed);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"value assigned to `events_need_redraw` is never read","code":{"code":"unused_assignments","explanation":null},"level":"warning","spans":[{"file_name":"dll/src/desktop/shell2/headless/mod.rs","byte_start":136562,"byte_end":136580,"line_start":2792,"line_end":2792,"column_start":29,"column_end":47,"is_primary":true,"text":[{"text":" events_need_redraw = true;","highlight_start":29,"highlight_end":47}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"maybe it is overwritten before being read?","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: value assigned to `events_need_redraw` is never read\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/shell2/headless/mod.rs:2792:29\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m2792\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m...\u001b[0m\u001b[0m events_need_redraw = true;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: maybe it is overwritten before being read?\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":9723,"byte_end":9860,"line_start":234,"line_end":239,"column_start":15,"column_end":6,"is_primary":true,"text":[{"text":" let msg = (dbus.dbus_message_new_method_call)(","highlight_start":15,"highlight_end":51},{"text":" dest.as_ptr(),","highlight_start":1,"highlight_end":23},{"text":" path.as_ptr(),","highlight_start":1,"highlight_end":23},{"text":" iface.as_ptr(),","highlight_start":1,"highlight_end":24},{"text":" member.as_ptr(),","highlight_start":1,"highlight_end":25},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":9423,"byte_end":9515,"line_start":229,"line_end":229,"column_start":1,"column_end":93,"is_primary":true,"text":[{"text":"unsafe fn watcher_host_registered(dbus: &DBusLib, conn: *mut DBusConnection) -> Option {","highlight_start":1,"highlight_end":93}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":9516,"byte_end":9516,"line_start":229,"line_end":229,"column_start":94,"column_end":94,"is_primary":true,"text":[{"text":"unsafe fn watcher_host_registered(dbus: &DBusLib, conn: *mut DBusConnection) -> Option {","highlight_start":94,"highlight_end":94}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11205,"byte_end":11205,"line_start":276,"line_end":276,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:234:15\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m234\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let msg = (dbus.dbus_message_new_method_call)(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m _______________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m235\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m dest.as_ptr(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m236\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m path.as_ptr(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m237\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m iface.as_ptr(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m238\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m member.as_ptr(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m239\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:229:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m229\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn watcher_host_registered(dbus: &DBusLib, conn: *mut DBusConnection) -> Option {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":9946,"byte_end":9964,"line_start":243,"line_end":243,"column_start":35,"column_end":53,"is_primary":true,"text":[{"text":" let mut it: DBusMessageIter = std::mem::zeroed();","highlight_start":35,"highlight_end":53}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:243:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m243\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut it: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":9970,"byte_end":10020,"line_start":244,"line_end":244,"column_start":5,"column_end":55,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_init_append)(msg, &mut it);","highlight_start":5,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:244:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m244\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_init_append)(msg, &mut it);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":10026,"byte_end":10083,"line_start":245,"line_end":245,"column_start":5,"column_end":62,"is_primary":true,"text":[{"text":" append_str(dbus, &mut it, DBUS_TYPE_STRING, WATCHER_NAME);","highlight_start":5,"highlight_end":62}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:245:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m245\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_str(dbus, &mut it, DBUS_TYPE_STRING, WATCHER_NAME);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":10089,"byte_end":10205,"line_start":246,"line_end":251,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" append_str(","highlight_start":5,"highlight_end":16},{"text":" dbus,","highlight_start":1,"highlight_end":14},{"text":" &mut it,","highlight_start":1,"highlight_end":17},{"text":" DBUS_TYPE_STRING,","highlight_start":1,"highlight_end":26},{"text":" \"IsStatusNotifierHostRegistered\",","highlight_start":1,"highlight_end":42},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:246:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m246\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_str(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m247\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m dbus,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m248\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut it,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m249\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m DBUS_TYPE_STRING,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m250\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"IsStatusNotifierHostRegistered\",\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m251\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":10244,"byte_end":10276,"line_start":253,"line_end":253,"column_start":5,"column_end":37,"is_primary":true,"text":[{"text":" (dbus.dbus_error_init)(&mut err);","highlight_start":5,"highlight_end":37}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:253:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m253\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_error_init)(&mut err);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":10294,"byte_end":10369,"line_start":254,"line_end":254,"column_start":17,"column_end":92,"is_primary":true,"text":[{"text":" let reply = (dbus.dbus_connection_send_with_reply_and_block)(conn, msg, 1000, &mut err);","highlight_start":17,"highlight_end":92}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:254:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m254\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let reply = (dbus.dbus_connection_send_with_reply_and_block)(conn, msg, 1000, &mut err);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":10375,"byte_end":10405,"line_start":255,"line_end":255,"column_start":5,"column_end":35,"is_primary":true,"text":[{"text":" (dbus.dbus_message_unref)(msg);","highlight_start":5,"highlight_end":35}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:255:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m255\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_unref)(msg);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":10440,"byte_end":10472,"line_start":257,"line_end":257,"column_start":9,"column_end":41,"is_primary":true,"text":[{"text":" (dbus.dbus_error_free)(&mut err);","highlight_start":9,"highlight_end":41}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:257:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m257\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_error_free)(&mut err);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":10578,"byte_end":10596,"line_start":261,"line_end":261,"column_start":36,"column_end":54,"is_primary":true,"text":[{"text":" let mut rit: DBusMessageIter = std::mem::zeroed();","highlight_start":36,"highlight_end":54}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:261:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m261\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut rit: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":10632,"byte_end":10678,"line_start":263,"line_end":263,"column_start":8,"column_end":54,"is_primary":true,"text":[{"text":" if (dbus.dbus_message_iter_init)(reply, &mut rit) != 0","highlight_start":8,"highlight_end":54}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:263:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m263\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (dbus.dbus_message_iter_init)(reply, &mut rit) != 0\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":10695,"byte_end":10742,"line_start":264,"line_end":264,"column_start":12,"column_end":59,"is_primary":true,"text":[{"text":" && (dbus.dbus_message_iter_get_arg_type)(&mut rit) == DBUS_TYPE_VARIANT","highlight_start":12,"highlight_end":59}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:264:12\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m264\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m && (dbus.dbus_message_iter_get_arg_type)(&mut rit) == DBUS_TYPE_VARIANT\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":10809,"byte_end":10827,"line_start":266,"line_end":266,"column_start":40,"column_end":58,"is_primary":true,"text":[{"text":" let mut vit: DBusMessageIter = std::mem::zeroed();","highlight_start":40,"highlight_end":58}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:266:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m266\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut vit: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":10837,"byte_end":10889,"line_start":267,"line_end":267,"column_start":9,"column_end":61,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_recurse)(&mut rit, &mut vit);","highlight_start":9,"highlight_end":61}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:267:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m267\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_recurse)(&mut rit, &mut vit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":10902,"byte_end":10949,"line_start":268,"line_end":268,"column_start":12,"column_end":59,"is_primary":true,"text":[{"text":" if (dbus.dbus_message_iter_get_arg_type)(&mut vit) == DBUS_TYPE_BOOLEAN {","highlight_start":12,"highlight_end":59}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:268:12\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m268\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (dbus.dbus_message_iter_get_arg_type)(&mut vit) == DBUS_TYPE_BOOLEAN {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11020,"byte_end":11102,"line_start":270,"line_end":270,"column_start":13,"column_end":95,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_get_basic)(&mut vit, &mut b as *mut c_uint as *mut c_void);","highlight_start":13,"highlight_end":95}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:270:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m270\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_get_basic)(&mut vit, &mut b as *mut c_uint as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11159,"byte_end":11191,"line_start":274,"line_end":274,"column_start":5,"column_end":37,"is_primary":true,"text":[{"text":" (dbus.dbus_message_unref)(reply);","highlight_start":5,"highlight_end":37}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:274:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m274\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_unref)(reply);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11515,"byte_end":11603,"line_start":284,"line_end":284,"column_start":5,"column_end":93,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_append_basic)(it, ty, &p as *const *const c_char as *mut c_void);","highlight_start":5,"highlight_end":93}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11353,"byte_end":11435,"line_start":281,"line_end":281,"column_start":1,"column_end":83,"is_primary":true,"text":[{"text":"unsafe fn append_str(dbus: &DBusLib, it: *mut DBusMessageIter, ty: c_int, s: &str) {","highlight_start":1,"highlight_end":83}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11436,"byte_end":11436,"line_start":281,"line_end":281,"column_start":84,"column_end":84,"is_primary":true,"text":[{"text":"unsafe fn append_str(dbus: &DBusLib, it: *mut DBusMessageIter, ty: c_int, s: &str) {","highlight_start":84,"highlight_end":84}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11606,"byte_end":11606,"line_start":285,"line_end":285,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:284:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m284\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_append_basic)(it, ty, &p as *const *const c_char as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:281:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m281\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn append_str(dbus: &DBusLib, it: *mut DBusMessageIter, ty: c_int, s: &str) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11685,"byte_end":11776,"line_start":288,"line_end":288,"column_start":5,"column_end":96,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_append_basic)(it, DBUS_TYPE_INT32, &v as *const i32 as *mut c_void);","highlight_start":5,"highlight_end":96}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11608,"byte_end":11678,"line_start":287,"line_end":287,"column_start":1,"column_end":71,"is_primary":true,"text":[{"text":"unsafe fn append_i32(dbus: &DBusLib, it: *mut DBusMessageIter, v: i32) {","highlight_start":1,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11679,"byte_end":11679,"line_start":287,"line_end":287,"column_start":72,"column_end":72,"is_primary":true,"text":[{"text":"unsafe fn append_i32(dbus: &DBusLib, it: *mut DBusMessageIter, v: i32) {","highlight_start":72,"highlight_end":72}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11779,"byte_end":11779,"line_start":289,"line_end":289,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:288:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m288\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_append_basic)(it, DBUS_TYPE_INT32, &v as *const i32 as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:287:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m287\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn append_i32(dbus: &DBusLib, it: *mut DBusMessageIter, v: i32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11858,"byte_end":11952,"line_start":292,"line_end":292,"column_start":5,"column_end":99,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_append_basic)(it, DBUS_TYPE_UINT32, &v as *const u32 as *const c_void);","highlight_start":5,"highlight_end":99}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11781,"byte_end":11851,"line_start":291,"line_end":291,"column_start":1,"column_end":71,"is_primary":true,"text":[{"text":"unsafe fn append_u32(dbus: &DBusLib, it: *mut DBusMessageIter, v: u32) {","highlight_start":1,"highlight_end":71}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11852,"byte_end":11852,"line_start":291,"line_end":291,"column_start":72,"column_end":72,"is_primary":true,"text":[{"text":"unsafe fn append_u32(dbus: &DBusLib, it: *mut DBusMessageIter, v: u32) {","highlight_start":72,"highlight_end":72}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11955,"byte_end":11955,"line_start":293,"line_end":293,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:292:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m292\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_append_basic)(it, DBUS_TYPE_UINT32, &v as *const u32 as *const c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:291:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m291\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn append_u32(dbus: &DBusLib, it: *mut DBusMessageIter, v: u32) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":12079,"byte_end":12206,"line_start":297,"line_end":301,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_append_basic)(","highlight_start":5,"highlight_end":43},{"text":" it,","highlight_start":1,"highlight_end":12},{"text":" DBUS_TYPE_BOOLEAN,","highlight_start":1,"highlight_end":27},{"text":" &b as *const c_uint as *mut c_void,","highlight_start":1,"highlight_end":44},{"text":" );","highlight_start":1,"highlight_end":6}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":11957,"byte_end":12029,"line_start":295,"line_end":295,"column_start":1,"column_end":73,"is_primary":true,"text":[{"text":"unsafe fn append_bool(dbus: &DBusLib, it: *mut DBusMessageIter, v: bool) {","highlight_start":1,"highlight_end":73}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":12030,"byte_end":12030,"line_start":295,"line_end":295,"column_start":74,"column_end":74,"is_primary":true,"text":[{"text":"unsafe fn append_bool(dbus: &DBusLib, it: *mut DBusMessageIter, v: bool) {","highlight_start":74,"highlight_end":74}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":12209,"byte_end":12209,"line_start":302,"line_end":302,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:297:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m297\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_append_basic)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m298\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m it,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m299\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m DBUS_TYPE_BOOLEAN,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m300\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &b as *const c_uint as *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m301\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:295:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m295\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn append_bool(dbus: &DBusLib, it: *mut DBusMessageIter, v: bool) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":12481,"byte_end":12499,"line_start":312,"line_end":312,"column_start":36,"column_end":54,"is_primary":true,"text":[{"text":" let mut vit: DBusMessageIter = std::mem::zeroed();","highlight_start":36,"highlight_end":54}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":12269,"byte_end":12399,"line_start":305,"line_end":310,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe fn in_variant(","highlight_start":1,"highlight_end":22},{"text":" dbus: &DBusLib,","highlight_start":1,"highlight_end":20},{"text":" it: *mut DBusMessageIter,","highlight_start":1,"highlight_end":30},{"text":" sig: &str,","highlight_start":1,"highlight_end":15},{"text":" f: impl FnOnce(&mut DBusMessageIter),","highlight_start":1,"highlight_end":42},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":12400,"byte_end":12400,"line_start":310,"line_end":310,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":12673,"byte_end":12673,"line_start":316,"line_end":316,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:312:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m312\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut vit: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:305:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m305\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn in_variant(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m306\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m dbus: &DBusLib,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m307\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m it: *mut DBusMessageIter,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m308\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m sig: &str,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m309\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m f: impl FnOnce(&mut DBusMessageIter),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m310\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":12505,"byte_end":12593,"line_start":313,"line_end":313,"column_start":5,"column_end":93,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_open_container)(it, DBUS_TYPE_VARIANT, sig_c.as_ptr(), &mut vit);","highlight_start":5,"highlight_end":93}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:313:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m313\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_open_container)(it, DBUS_TYPE_VARIANT, sig_c.as_ptr(), &mut vit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":12616,"byte_end":12670,"line_start":315,"line_end":315,"column_start":5,"column_end":59,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_close_container)(it, &mut vit);","highlight_start":5,"highlight_end":59}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:315:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m315\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_close_container)(it, &mut vit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":12886,"byte_end":12904,"line_start":321,"line_end":321,"column_start":36,"column_end":54,"is_primary":true,"text":[{"text":" let mut ait: DBusMessageIter = std::mem::zeroed();","highlight_start":36,"highlight_end":54}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":12706,"byte_end":12801,"line_start":319,"line_end":319,"column_start":1,"column_end":96,"is_primary":true,"text":[{"text":"unsafe fn append_pixmaps(dbus: &DBusLib, it: *mut DBusMessageIter, pix: &[(i32, i32, Vec)]) {","highlight_start":1,"highlight_end":96}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":12802,"byte_end":12802,"line_start":319,"line_end":319,"column_start":97,"column_end":97,"is_primary":true,"text":[{"text":"unsafe fn append_pixmaps(dbus: &DBusLib, it: *mut DBusMessageIter, pix: &[(i32, i32, Vec)]) {","highlight_start":97,"highlight_end":97}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":14162,"byte_end":14162,"line_start":350,"line_end":350,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:321:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m321\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut ait: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:319:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m319\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn append_pixmaps(dbus: &DBusLib, it: *mut DBusMessageIter, pix: &[(i32, i32, Vec)]) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":12910,"byte_end":12994,"line_start":322,"line_end":322,"column_start":5,"column_end":89,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_open_container)(it, DBUS_TYPE_ARRAY, sig.as_ptr(), &mut ait);","highlight_start":5,"highlight_end":89}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:322:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m322\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_open_container)(it, DBUS_TYPE_ARRAY, sig.as_ptr(), &mut ait);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":13066,"byte_end":13084,"line_start":324,"line_end":324,"column_start":40,"column_end":58,"is_primary":true,"text":[{"text":" let mut sit: DBusMessageIter = std::mem::zeroed();","highlight_start":40,"highlight_end":58}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:324:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m324\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut sit: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":13094,"byte_end":13248,"line_start":325,"line_end":330,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_open_container)(","highlight_start":9,"highlight_end":49},{"text":" &mut ait,","highlight_start":1,"highlight_end":22},{"text":" DBUS_TYPE_STRUCT,","highlight_start":1,"highlight_end":30},{"text":" std::ptr::null(),","highlight_start":1,"highlight_end":30},{"text":" &mut sit,","highlight_start":1,"highlight_end":22},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:325:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m325\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_open_container)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m326\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut ait,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m327\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m DBUS_TYPE_STRUCT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m328\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m329\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut sit,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m330\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_i32` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":13258,"byte_end":13288,"line_start":331,"line_end":331,"column_start":9,"column_end":39,"is_primary":true,"text":[{"text":" append_i32(dbus, &mut sit, *w);","highlight_start":9,"highlight_end":39}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_i32` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:331:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m331\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_i32(dbus, &mut sit, *w);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_i32` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":13298,"byte_end":13328,"line_start":332,"line_end":332,"column_start":9,"column_end":39,"is_primary":true,"text":[{"text":" append_i32(dbus, &mut sit, *h);","highlight_start":9,"highlight_end":39}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_i32` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:332:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m332\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_i32(dbus, &mut sit, *h);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":13416,"byte_end":13434,"line_start":334,"line_end":334,"column_start":40,"column_end":58,"is_primary":true,"text":[{"text":" let mut bit: DBusMessageIter = std::mem::zeroed();","highlight_start":40,"highlight_end":58}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:334:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m334\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut bit: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":13444,"byte_end":13535,"line_start":335,"line_end":335,"column_start":9,"column_end":100,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_open_container)(&mut sit, DBUS_TYPE_ARRAY, ysig.as_ptr(), &mut bit);","highlight_start":9,"highlight_end":100}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:335:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m335\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_open_container)(&mut sit, DBUS_TYPE_ARRAY, ysig.as_ptr(), &mut bit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":13786,"byte_end":13943,"line_start":340,"line_end":344,"column_start":13,"column_end":14,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_append_basic)(","highlight_start":13,"highlight_end":51},{"text":" &mut bit,","highlight_start":1,"highlight_end":26},{"text":" DBUS_TYPE_BYTE,","highlight_start":1,"highlight_end":32},{"text":" b as *const u8 as *mut c_void,","highlight_start":1,"highlight_end":47},{"text":" );","highlight_start":1,"highlight_end":14}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:340:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m340\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_append_basic)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m341\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut bit,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m342\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m DBUS_TYPE_BYTE,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m343\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m b as *const u8 as *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m344\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":13963,"byte_end":14023,"line_start":346,"line_end":346,"column_start":9,"column_end":69,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_close_container)(&mut sit, &mut bit);","highlight_start":9,"highlight_end":69}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:346:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m346\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_close_container)(&mut sit, &mut bit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":14033,"byte_end":14093,"line_start":347,"line_end":347,"column_start":9,"column_end":69,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_close_container)(&mut ait, &mut sit);","highlight_start":9,"highlight_end":69}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:347:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m347\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_close_container)(&mut ait, &mut sit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":14105,"byte_end":14159,"line_start":349,"line_end":349,"column_start":5,"column_end":59,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_close_container)(it, &mut ait);","highlight_start":5,"highlight_end":59}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:349:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m349\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_close_container)(it, &mut ait);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":14323,"byte_end":14341,"line_start":354,"line_end":354,"column_start":36,"column_end":54,"is_primary":true,"text":[{"text":" let mut sit: DBusMessageIter = std::mem::zeroed();","highlight_start":36,"highlight_end":54}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":14206,"byte_end":14285,"line_start":353,"line_end":353,"column_start":1,"column_end":80,"is_primary":true,"text":[{"text":"unsafe fn append_tooltip(dbus: &DBusLib, it: *mut DBusMessageIter, title: &str) {","highlight_start":1,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":14286,"byte_end":14286,"line_start":353,"line_end":353,"column_start":81,"column_end":81,"is_primary":true,"text":[{"text":"unsafe fn append_tooltip(dbus: &DBusLib, it: *mut DBusMessageIter, title: &str) {","highlight_start":81,"highlight_end":81}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":14747,"byte_end":14747,"line_start":361,"line_end":361,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:354:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m354\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut sit: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:353:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m353\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn append_tooltip(dbus: &DBusLib, it: *mut DBusMessageIter, title: &str) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":14347,"byte_end":14436,"line_start":355,"line_end":355,"column_start":5,"column_end":94,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_open_container)(it, DBUS_TYPE_STRUCT, std::ptr::null(), &mut sit);","highlight_start":5,"highlight_end":94}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:355:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m355\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_open_container)(it, DBUS_TYPE_STRUCT, std::ptr::null(), &mut sit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":14442,"byte_end":14490,"line_start":356,"line_end":356,"column_start":5,"column_end":53,"is_primary":true,"text":[{"text":" append_str(dbus, &mut sit, DBUS_TYPE_STRING, \"\"); // icon name","highlight_start":5,"highlight_end":53}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:356:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m356\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_str(dbus, &mut sit, DBUS_TYPE_STRING, \"\"); // icon name\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_pixmaps` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":14509,"byte_end":14544,"line_start":357,"line_end":357,"column_start":5,"column_end":40,"is_primary":true,"text":[{"text":" append_pixmaps(dbus, &mut sit, &[]); // icon pixmaps","highlight_start":5,"highlight_end":40}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_pixmaps` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:357:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m357\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_pixmaps(dbus, &mut sit, &[]); // icon pixmaps\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":14566,"byte_end":14617,"line_start":358,"line_end":358,"column_start":5,"column_end":56,"is_primary":true,"text":[{"text":" append_str(dbus, &mut sit, DBUS_TYPE_STRING, title);","highlight_start":5,"highlight_end":56}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:358:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m358\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_str(dbus, &mut sit, DBUS_TYPE_STRING, title);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":14623,"byte_end":14671,"line_start":359,"line_end":359,"column_start":5,"column_end":53,"is_primary":true,"text":[{"text":" append_str(dbus, &mut sit, DBUS_TYPE_STRING, \"\"); // rich body","highlight_start":5,"highlight_end":53}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:359:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m359\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_str(dbus, &mut sit, DBUS_TYPE_STRING, \"\"); // rich body\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":14690,"byte_end":14744,"line_start":360,"line_end":360,"column_start":5,"column_end":59,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_close_container)(it, &mut sit);","highlight_start":5,"highlight_end":59}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:360:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m360\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_close_container)(it, &mut sit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":15538,"byte_end":15597,"line_start":386,"line_end":386,"column_start":23,"column_end":82,"is_primary":true,"text":[{"text":" \"Category\" => append_str(dbus, it, DBUS_TYPE_STRING, \"ApplicationStatus\"),","highlight_start":23,"highlight_end":82}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":15400,"byte_end":15496,"line_start":384,"line_end":384,"column_start":1,"column_end":97,"is_primary":true,"text":[{"text":"unsafe fn append_prop_value(dbus: &DBusLib, it: &mut DBusMessageIter, st: &SniState, name: &str) {","highlight_start":1,"highlight_end":97}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":15497,"byte_end":15497,"line_start":384,"line_end":384,"column_start":98,"column_end":98,"is_primary":true,"text":[{"text":"unsafe fn append_prop_value(dbus: &DBusLib, it: &mut DBusMessageIter, st: &SniState, name: &str) {","highlight_start":98,"highlight_end":98}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":17060,"byte_end":17060,"line_start":414,"line_end":414,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:386:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m386\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"Category\" => append_str(dbus, it, DBUS_TYPE_STRING, \"ApplicationStatus\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:384:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m384\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn append_prop_value(dbus: &DBusLib, it: &mut DBusMessageIter, st: &SniState, name: &str) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":15615,"byte_end":15661,"line_start":387,"line_end":387,"column_start":17,"column_end":63,"is_primary":true,"text":[{"text":" \"Id\" => append_str(dbus, it, DBUS_TYPE_STRING, &st.id),","highlight_start":17,"highlight_end":63}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:387:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m387\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"Id\" => append_str(dbus, it, DBUS_TYPE_STRING, &st.id),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":15682,"byte_end":15731,"line_start":388,"line_end":388,"column_start":20,"column_end":69,"is_primary":true,"text":[{"text":" \"Title\" => append_str(dbus, it, DBUS_TYPE_STRING, &st.title),","highlight_start":20,"highlight_end":69}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:388:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m388\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"Title\" => append_str(dbus, it, DBUS_TYPE_STRING, &st.title),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":15753,"byte_end":15802,"line_start":389,"line_end":389,"column_start":21,"column_end":70,"is_primary":true,"text":[{"text":" \"Status\" => append_str(dbus, it, DBUS_TYPE_STRING, st.status),","highlight_start":21,"highlight_end":70}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:389:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m389\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"Status\" => append_str(dbus, it, DBUS_TYPE_STRING, st.status),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_i32` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":15826,"byte_end":15849,"line_start":390,"line_end":390,"column_start":23,"column_end":46,"is_primary":true,"text":[{"text":" \"WindowId\" => append_i32(dbus, it, 0),","highlight_start":23,"highlight_end":46}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_i32` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:390:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m390\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"WindowId\" => append_i32(dbus, it, 0),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":15873,"byte_end":15926,"line_start":391,"line_end":391,"column_start":23,"column_end":76,"is_primary":true,"text":[{"text":" \"IconName\" => append_str(dbus, it, DBUS_TYPE_STRING, &st.icon_name),","highlight_start":23,"highlight_end":76}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:391:23\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m391\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"IconName\" => append_str(dbus, it, DBUS_TYPE_STRING, &st.icon_name),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_pixmaps` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":15952,"byte_end":15989,"line_start":392,"line_end":392,"column_start":25,"column_end":62,"is_primary":true,"text":[{"text":" \"IconPixmap\" => append_pixmaps(dbus, it, &st.pixmaps),","highlight_start":25,"highlight_end":62}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_pixmaps` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:392:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m392\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"IconPixmap\" => append_pixmaps(dbus, it, &st.pixmaps),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":16079,"byte_end":16121,"line_start":394,"line_end":394,"column_start":13,"column_end":55,"is_primary":true,"text":[{"text":" append_str(dbus, it, DBUS_TYPE_STRING, \"\");","highlight_start":13,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:394:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m394\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_str(dbus, it, DBUS_TYPE_STRING, \"\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_pixmaps` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":16188,"byte_end":16217,"line_start":396,"line_end":396,"column_start":56,"column_end":85,"is_primary":true,"text":[{"text":" \"OverlayIconPixmap\" | \"AttentionIconPixmap\" => append_pixmaps(dbus, it, &[]),","highlight_start":56,"highlight_end":85}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_pixmaps` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:396:56\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m396\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"OverlayIconPixmap\" | \"AttentionIconPixmap\" => append_pixmaps(dbus, it, &[]),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_tooltip` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":16240,"byte_end":16277,"line_start":397,"line_end":397,"column_start":22,"column_end":59,"is_primary":true,"text":[{"text":" \"ToolTip\" => append_tooltip(dbus, it, &st.tooltip),","highlight_start":22,"highlight_end":59}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_tooltip` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:397:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m397\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"ToolTip\" => append_tooltip(dbus, it, &st.tooltip),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_bool` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":16603,"byte_end":16643,"line_start":402,"line_end":402,"column_start":25,"column_end":65,"is_primary":true,"text":[{"text":" \"ItemIsMenu\" => append_bool(dbus, it, st.menu.len() > 1),","highlight_start":25,"highlight_end":65}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_bool` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:402:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m402\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"ItemIsMenu\" => append_bool(dbus, it, st.menu.len() > 1),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":16843,"byte_end":16994,"line_start":406,"line_end":411,"column_start":19,"column_end":10,"is_primary":true,"text":[{"text":" \"Menu\" => append_str(","highlight_start":19,"highlight_end":30},{"text":" dbus,","highlight_start":1,"highlight_end":18},{"text":" it,","highlight_start":1,"highlight_end":16},{"text":" DBUS_TYPE_OBJECT_PATH,","highlight_start":1,"highlight_end":35},{"text":" if st.menu.len() > 1 { MENU_PATH } else { \"/\" },","highlight_start":1,"highlight_end":61},{"text":" ),","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:406:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m406\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"Menu\" => append_str(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m ___________________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m407\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m dbus,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m408\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m it,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m409\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m DBUS_TYPE_OBJECT_PATH,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m410\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if st.menu.len() > 1 { MENU_PATH } else { \"/\" },\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m411\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":17009,"byte_end":17051,"line_start":412,"line_end":412,"column_start":14,"column_end":56,"is_primary":true,"text":[{"text":" _ => append_str(dbus, it, DBUS_TYPE_STRING, \"\"),","highlight_start":14,"highlight_end":56}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:412:14\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m412\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m _ => append_str(dbus, it, DBUS_TYPE_STRING, \"\"),\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":17292,"byte_end":17323,"line_start":423,"line_end":423,"column_start":15,"column_end":46,"is_primary":true,"text":[{"text":" let st = &*(user_data as *const SniState);","highlight_start":15,"highlight_end":46}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":17145,"byte_end":17275,"line_start":418,"line_end":422,"column_start":1,"column_end":11,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn sni_message(","highlight_start":1,"highlight_end":34},{"text":" conn: *mut DBusConnection,","highlight_start":1,"highlight_end":31},{"text":" msg: *mut DBusMessage,","highlight_start":1,"highlight_end":27},{"text":" user_data: *mut c_void,","highlight_start":1,"highlight_end":28},{"text":") -> c_int {","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":17276,"byte_end":17276,"line_start":422,"line_end":422,"column_start":12,"column_end":12,"is_primary":true,"text":[{"text":") -> c_int {","highlight_start":12,"highlight_end":12}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":22698,"byte_end":22698,"line_start":547,"line_end":547,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:423:15\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m423\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let st = &*(user_data as *const SniState);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:418:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m418\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn sni_message(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m419\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m conn: *mut DBusConnection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m420\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m msg: *mut DBusMessage,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m421\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m user_data: *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m422\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> c_int {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|__________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":17367,"byte_end":17405,"line_start":426,"line_end":426,"column_start":17,"column_end":55,"is_primary":true,"text":[{"text":" let iface = (dbus.dbus_message_get_interface)(msg);","highlight_start":17,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:426:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m426\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let iface = (dbus.dbus_message_get_interface)(msg);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":17424,"byte_end":17459,"line_start":427,"line_end":427,"column_start":18,"column_end":53,"is_primary":true,"text":[{"text":" let member = (dbus.dbus_message_get_member)(msg);","highlight_start":18,"highlight_end":53}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:427:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m427\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let member = (dbus.dbus_message_get_member)(msg);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":17580,"byte_end":17601,"line_start":431,"line_end":431,"column_start":17,"column_end":38,"is_primary":true,"text":[{"text":" let iface = CStr::from_ptr(iface).to_string_lossy();","highlight_start":17,"highlight_end":38}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:431:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m431\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let iface = CStr::from_ptr(iface).to_string_lossy();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":17638,"byte_end":17660,"line_start":432,"line_end":432,"column_start":18,"column_end":40,"is_primary":true,"text":[{"text":" let member = CStr::from_ptr(member).to_string_lossy();","highlight_start":18,"highlight_end":40}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:432:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m432\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let member = CStr::from_ptr(member).to_string_lossy();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":17809,"byte_end":17851,"line_start":436,"line_end":436,"column_start":25,"column_end":67,"is_primary":true,"text":[{"text":" let reply = (dbus.dbus_message_new_method_return)(msg);","highlight_start":25,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:436:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m436\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let reply = (dbus.dbus_message_new_method_return)(msg);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":17933,"byte_end":17951,"line_start":438,"line_end":438,"column_start":47,"column_end":65,"is_primary":true,"text":[{"text":" let mut it: DBusMessageIter = std::mem::zeroed();","highlight_start":47,"highlight_end":65}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:438:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m438\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut it: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":17969,"byte_end":18021,"line_start":439,"line_end":439,"column_start":17,"column_end":69,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_init_append)(reply, &mut it);","highlight_start":17,"highlight_end":69}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:439:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m439\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_init_append)(reply, &mut it);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":18039,"byte_end":18104,"line_start":440,"line_end":440,"column_start":17,"column_end":82,"is_primary":true,"text":[{"text":" append_str(dbus, &mut it, DBUS_TYPE_STRING, &introspection_xml());","highlight_start":17,"highlight_end":82}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:440:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m440\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_str(dbus, &mut it, DBUS_TYPE_STRING, &introspection_xml());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::read_two_strings` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":18232,"byte_end":18259,"line_start":445,"line_end":445,"column_start":51,"column_end":78,"is_primary":true,"text":[{"text":" let (Some(_prop_iface), Some(prop)) = read_two_strings(dbus, msg) else {","highlight_start":51,"highlight_end":78}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::read_two_strings` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:445:51\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m445\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let (Some(_prop_iface), Some(prop)) = read_two_strings(dbus, msg) else {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::error_reply` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":18290,"byte_end":18360,"line_start":446,"line_end":446,"column_start":24,"column_end":94,"is_primary":true,"text":[{"text":" return error_reply(dbus, conn, msg, \"org.freedesktop.DBus.Error.InvalidArgs\");","highlight_start":24,"highlight_end":94}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::error_reply` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:446:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m446\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return error_reply(dbus, conn, msg, \"org.freedesktop.DBus.Error.InvalidArgs\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::error_reply` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":18483,"byte_end":18656,"line_start":449,"line_end":454,"column_start":24,"column_end":18,"is_primary":true,"text":[{"text":" return error_reply(","highlight_start":24,"highlight_end":36},{"text":" dbus,","highlight_start":1,"highlight_end":26},{"text":" conn,","highlight_start":1,"highlight_end":26},{"text":" msg,","highlight_start":1,"highlight_end":25},{"text":" \"org.freedesktop.DBus.Error.UnknownProperty\",","highlight_start":1,"highlight_end":66},{"text":" );","highlight_start":1,"highlight_end":18}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::error_reply` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:449:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m449\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m return error_reply(\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m ________________________^\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m450\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m dbus,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m451\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m conn,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m452\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m msg,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m453\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m \"org.freedesktop.DBus.Error.UnknownProperty\",\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m454\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":18697,"byte_end":18739,"line_start":456,"line_end":456,"column_start":25,"column_end":67,"is_primary":true,"text":[{"text":" let reply = (dbus.dbus_message_new_method_return)(msg);","highlight_start":25,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:456:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m456\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let reply = (dbus.dbus_message_new_method_return)(msg);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":18821,"byte_end":18839,"line_start":458,"line_end":458,"column_start":47,"column_end":65,"is_primary":true,"text":[{"text":" let mut it: DBusMessageIter = std::mem::zeroed();","highlight_start":47,"highlight_end":65}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:458:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m458\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut it: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":18857,"byte_end":18909,"line_start":459,"line_end":459,"column_start":17,"column_end":69,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_init_append)(reply, &mut it);","highlight_start":17,"highlight_end":69}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:459:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m459\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_init_append)(reply, &mut it);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::in_variant` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":18927,"byte_end":19045,"line_start":460,"line_end":462,"column_start":17,"column_end":19,"is_primary":true,"text":[{"text":" in_variant(dbus, &mut it, sig, |vit| {","highlight_start":17,"highlight_end":55},{"text":" append_prop_value(dbus, vit, st, &prop);","highlight_start":1,"highlight_end":61},{"text":" });","highlight_start":1,"highlight_end":19}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::in_variant` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:460:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m460\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m in_variant(dbus, &mut it, sig, |vit| {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m461\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_prop_value(dbus, vit, st, &prop);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m462\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m });\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|__________________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_prop_value` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":18986,"byte_end":19025,"line_start":461,"line_end":461,"column_start":21,"column_end":60,"is_primary":true,"text":[{"text":" append_prop_value(dbus, vit, st, &prop);","highlight_start":21,"highlight_end":60}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_prop_value` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:461:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m461\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_prop_value(dbus, vit, st, &prop);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":19150,"byte_end":19192,"line_start":467,"line_end":467,"column_start":25,"column_end":67,"is_primary":true,"text":[{"text":" let reply = (dbus.dbus_message_new_method_return)(msg);","highlight_start":25,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:467:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m467\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let reply = (dbus.dbus_message_new_method_return)(msg);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":19274,"byte_end":19292,"line_start":469,"line_end":469,"column_start":47,"column_end":65,"is_primary":true,"text":[{"text":" let mut it: DBusMessageIter = std::mem::zeroed();","highlight_start":47,"highlight_end":65}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:469:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m469\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut it: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":19310,"byte_end":19362,"line_start":470,"line_end":470,"column_start":17,"column_end":69,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_init_append)(reply, &mut it);","highlight_start":17,"highlight_end":69}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:470:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m470\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_init_append)(reply, &mut it);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":19469,"byte_end":19487,"line_start":472,"line_end":472,"column_start":48,"column_end":66,"is_primary":true,"text":[{"text":" let mut ait: DBusMessageIter = std::mem::zeroed();","highlight_start":48,"highlight_end":66}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:472:48\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m472\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut ait: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":19505,"byte_end":19694,"line_start":473,"line_end":478,"column_start":17,"column_end":18,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_open_container)(","highlight_start":17,"highlight_end":57},{"text":" &mut it,","highlight_start":1,"highlight_end":29},{"text":" DBUS_TYPE_ARRAY,","highlight_start":1,"highlight_end":37},{"text":" esig.as_ptr(),","highlight_start":1,"highlight_end":35},{"text":" &mut ait,","highlight_start":1,"highlight_end":30},{"text":" );","highlight_start":1,"highlight_end":18}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:473:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m473\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_open_container)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m474\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut it,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m475\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m DBUS_TYPE_ARRAY,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m476\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m esig.as_ptr(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m477\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut ait,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m478\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":19794,"byte_end":19812,"line_start":480,"line_end":480,"column_start":52,"column_end":70,"is_primary":true,"text":[{"text":" let mut eit: DBusMessageIter = std::mem::zeroed();","highlight_start":52,"highlight_end":70}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:480:52\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m480\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut eit: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":19834,"byte_end":20052,"line_start":481,"line_end":486,"column_start":21,"column_end":22,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_open_container)(","highlight_start":21,"highlight_end":61},{"text":" &mut ait,","highlight_start":1,"highlight_end":34},{"text":" DBUS_TYPE_DICT_ENTRY,","highlight_start":1,"highlight_end":46},{"text":" std::ptr::null(),","highlight_start":1,"highlight_end":42},{"text":" &mut eit,","highlight_start":1,"highlight_end":34},{"text":" );","highlight_start":1,"highlight_end":22}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:481:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m481\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_open_container)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m482\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut ait,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m483\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m DBUS_TYPE_DICT_ENTRY,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m484\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m485\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut eit,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m486\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____________________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":20074,"byte_end":20124,"line_start":487,"line_end":487,"column_start":21,"column_end":71,"is_primary":true,"text":[{"text":" append_str(dbus, &mut eit, DBUS_TYPE_STRING, name);","highlight_start":21,"highlight_end":71}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:487:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m487\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_str(dbus, &mut eit, DBUS_TYPE_STRING, name);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::in_variant` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":20146,"byte_end":20272,"line_start":488,"line_end":490,"column_start":21,"column_end":23,"is_primary":true,"text":[{"text":" in_variant(dbus, &mut eit, sig, |vit| {","highlight_start":21,"highlight_end":60},{"text":" append_prop_value(dbus, vit, st, name);","highlight_start":1,"highlight_end":64},{"text":" });","highlight_start":1,"highlight_end":23}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::in_variant` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:488:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m488\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m in_variant(dbus, &mut eit, sig, |vit| {\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m489\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_prop_value(dbus, vit, st, name);\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m490\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m });\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|______________________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_prop_value` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":20210,"byte_end":20248,"line_start":489,"line_end":489,"column_start":25,"column_end":63,"is_primary":true,"text":[{"text":" append_prop_value(dbus, vit, st, name);","highlight_start":25,"highlight_end":63}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_prop_value` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:489:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m489\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_prop_value(dbus, vit, st, name);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":20294,"byte_end":20354,"line_start":491,"line_end":491,"column_start":21,"column_end":81,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_close_container)(&mut ait, &mut eit);","highlight_start":21,"highlight_end":81}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:491:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m491\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_close_container)(&mut ait, &mut eit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":20390,"byte_end":20449,"line_start":493,"line_end":493,"column_start":17,"column_end":76,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_close_container)(&mut it, &mut ait);","highlight_start":17,"highlight_end":76}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:493:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m493\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_close_container)(&mut it, &mut ait);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":20616,"byte_end":20658,"line_start":499,"line_end":499,"column_start":13,"column_end":55,"is_primary":true,"text":[{"text":" (dbus.dbus_message_new_method_return)(msg)","highlight_start":13,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:499:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m499\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_new_method_return)(msg)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":20810,"byte_end":20852,"line_start":503,"line_end":503,"column_start":13,"column_end":55,"is_primary":true,"text":[{"text":" (dbus.dbus_message_new_method_return)(msg)","highlight_start":13,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:503:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m503\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_new_method_return)(msg)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":20992,"byte_end":21034,"line_start":507,"line_end":507,"column_start":13,"column_end":55,"is_primary":true,"text":[{"text":" (dbus.dbus_message_new_method_return)(msg)","highlight_start":13,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:507:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m507\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_new_method_return)(msg)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":21189,"byte_end":21207,"line_start":511,"line_end":511,"column_start":43,"column_end":61,"is_primary":true,"text":[{"text":" let mut it: DBusMessageIter = std::mem::zeroed();","highlight_start":43,"highlight_end":61}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:511:43\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m511\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut it: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":21224,"byte_end":21267,"line_start":512,"line_end":512,"column_start":16,"column_end":59,"is_primary":true,"text":[{"text":" if (dbus.dbus_message_iter_init)(msg, &mut it) != 0","highlight_start":16,"highlight_end":59}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:512:16\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m512\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (dbus.dbus_message_iter_init)(msg, &mut it) != 0\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":21292,"byte_end":21338,"line_start":513,"line_end":513,"column_start":20,"column_end":66,"is_primary":true,"text":[{"text":" && (dbus.dbus_message_iter_get_arg_type)(&mut it) == DBUS_TYPE_INT32","highlight_start":20,"highlight_end":66}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:513:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m513\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m && (dbus.dbus_message_iter_get_arg_type)(&mut it) == DBUS_TYPE_INT32\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":21428,"byte_end":21510,"line_start":516,"line_end":516,"column_start":17,"column_end":99,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_get_basic)(&mut it, &mut delta as *mut i32 as *mut c_void);","highlight_start":17,"highlight_end":99}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:516:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m516\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_get_basic)(&mut it, &mut delta as *mut i32 as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":21572,"byte_end":21610,"line_start":518,"line_end":518,"column_start":20,"column_end":58,"is_primary":true,"text":[{"text":" if (dbus.dbus_message_iter_next)(&mut it) != 0","highlight_start":20,"highlight_end":58}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:518:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m518\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (dbus.dbus_message_iter_next)(&mut it) != 0\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":21639,"byte_end":21685,"line_start":519,"line_end":519,"column_start":24,"column_end":70,"is_primary":true,"text":[{"text":" && (dbus.dbus_message_iter_get_arg_type)(&mut it) == DBUS_TYPE_STRING","highlight_start":24,"highlight_end":70}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:519:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m519\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m && (dbus.dbus_message_iter_get_arg_type)(&mut it) == DBUS_TYPE_STRING\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":21810,"byte_end":21970,"line_start":522,"line_end":525,"column_start":21,"column_end":22,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_get_basic)(","highlight_start":21,"highlight_end":56},{"text":" &mut it,","highlight_start":1,"highlight_end":33},{"text":" &mut sp as *mut *const c_char as *mut c_void,","highlight_start":1,"highlight_end":70},{"text":" );","highlight_start":1,"highlight_end":22}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:522:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m522\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_get_basic)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m523\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut it,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m524\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut sp as *mut *const c_char as *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m525\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____________________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":22036,"byte_end":22054,"line_start":527,"line_end":527,"column_start":28,"column_end":46,"is_primary":true,"text":[{"text":" && CStr::from_ptr(sp)","highlight_start":28,"highlight_end":46}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:527:28\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m527\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m && CStr::from_ptr(sp)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":22357,"byte_end":22399,"line_start":536,"line_end":536,"column_start":13,"column_end":55,"is_primary":true,"text":[{"text":" (dbus.dbus_message_new_method_return)(msg)","highlight_start":13,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:536:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m536\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_new_method_return)(msg)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":22509,"byte_end":22571,"line_start":542,"line_end":542,"column_start":9,"column_end":71,"is_primary":true,"text":[{"text":" (dbus.dbus_connection_send)(conn, reply, std::ptr::null_mut());","highlight_start":9,"highlight_end":71}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:542:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m542\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_connection_send)(conn, reply, std::ptr::null_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":22581,"byte_end":22613,"line_start":543,"line_end":543,"column_start":9,"column_end":41,"is_primary":true,"text":[{"text":" (dbus.dbus_message_unref)(reply);","highlight_start":9,"highlight_end":41}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:543:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m543\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_unref)(reply);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":22623,"byte_end":22657,"line_start":544,"line_end":544,"column_start":9,"column_end":43,"is_primary":true,"text":[{"text":" (dbus.dbus_connection_flush)(conn);","highlight_start":9,"highlight_end":43}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:544:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m544\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_connection_flush)(conn);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":22883,"byte_end":22947,"line_start":556,"line_end":556,"column_start":13,"column_end":77,"is_primary":true,"text":[{"text":" let e = (dbus.dbus_message_new_error)(msg, n.as_ptr(), std::ptr::null());","highlight_start":13,"highlight_end":77}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":22700,"byte_end":22827,"line_start":549,"line_end":554,"column_start":1,"column_end":11,"is_primary":true,"text":[{"text":"unsafe fn error_reply(","highlight_start":1,"highlight_end":23},{"text":" dbus: &DBusLib,","highlight_start":1,"highlight_end":20},{"text":" conn: *mut DBusConnection,","highlight_start":1,"highlight_end":31},{"text":" msg: *mut DBusMessage,","highlight_start":1,"highlight_end":27},{"text":" name: &str,","highlight_start":1,"highlight_end":16},{"text":") -> c_int {","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":22828,"byte_end":22828,"line_start":554,"line_end":554,"column_start":12,"column_end":12,"is_primary":true,"text":[{"text":") -> c_int {","highlight_start":12,"highlight_end":12}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":23116,"byte_end":23116,"line_start":562,"line_end":562,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:556:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m556\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let e = (dbus.dbus_message_new_error)(msg, n.as_ptr(), std::ptr::null());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:549:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m549\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn error_reply(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m550\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m dbus: &DBusLib,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m551\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m conn: *mut DBusConnection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m552\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m msg: *mut DBusMessage,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m553\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m name: &str,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m554\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> c_int {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|__________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":22979,"byte_end":23037,"line_start":558,"line_end":558,"column_start":9,"column_end":67,"is_primary":true,"text":[{"text":" (dbus.dbus_connection_send)(conn, e, std::ptr::null_mut());","highlight_start":9,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:558:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m558\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_connection_send)(conn, e, std::ptr::null_mut());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":23047,"byte_end":23075,"line_start":559,"line_end":559,"column_start":9,"column_end":37,"is_primary":true,"text":[{"text":" (dbus.dbus_message_unref)(e);","highlight_start":9,"highlight_end":37}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:559:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m559\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_unref)(e);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":23316,"byte_end":23334,"line_start":569,"line_end":569,"column_start":35,"column_end":53,"is_primary":true,"text":[{"text":" let mut it: DBusMessageIter = std::mem::zeroed();","highlight_start":35,"highlight_end":53}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":23167,"byte_end":23279,"line_start":565,"line_end":568,"column_start":1,"column_end":38,"is_primary":true,"text":[{"text":"unsafe fn read_two_strings(","highlight_start":1,"highlight_end":28},{"text":" dbus: &DBusLib,","highlight_start":1,"highlight_end":20},{"text":" msg: *mut DBusMessage,","highlight_start":1,"highlight_end":27},{"text":") -> (Option, Option) {","highlight_start":1,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":23280,"byte_end":23280,"line_start":568,"line_end":568,"column_start":39,"column_end":39,"is_primary":true,"text":[{"text":") -> (Option, Option) {","highlight_start":39,"highlight_end":39}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":23975,"byte_end":23975,"line_start":586,"line_end":586,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:569:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m569\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut it: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:565:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m565\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn read_two_strings(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m566\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m dbus: &DBusLib,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m567\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m msg: *mut DBusMessage,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m568\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> (Option, Option) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_____________________________________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":23343,"byte_end":23386,"line_start":570,"line_end":570,"column_start":8,"column_end":51,"is_primary":true,"text":[{"text":" if (dbus.dbus_message_iter_init)(msg, &mut it) == 0 {","highlight_start":8,"highlight_end":51}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:570:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m570\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (dbus.dbus_message_iter_init)(msg, &mut it) == 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":23520,"byte_end":23566,"line_start":575,"line_end":575,"column_start":12,"column_end":58,"is_primary":true,"text":[{"text":" if (dbus.dbus_message_iter_get_arg_type)(&mut it) != DBUS_TYPE_STRING {","highlight_start":12,"highlight_end":58}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:575:12\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m575\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (dbus.dbus_message_iter_get_arg_type)(&mut it) != DBUS_TYPE_STRING {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":23680,"byte_end":23769,"line_start":579,"line_end":579,"column_start":9,"column_end":98,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_get_basic)(&mut it, &mut sp as *mut *const c_char as *mut c_void);","highlight_start":9,"highlight_end":98}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:579:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m579\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_get_basic)(&mut it, &mut sp as *mut *const c_char as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":23823,"byte_end":23841,"line_start":581,"line_end":581,"column_start":26,"column_end":44,"is_primary":true,"text":[{"text":" *slot = Some(CStr::from_ptr(sp).to_string_lossy().into_owned());","highlight_start":26,"highlight_end":44}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:581:26\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m581\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m *slot = Some(CStr::from_ptr(sp).to_string_lossy().into_owned());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":23893,"byte_end":23931,"line_start":583,"line_end":583,"column_start":9,"column_end":47,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_next)(&mut it);","highlight_start":9,"highlight_end":47}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:583:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m583\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_next)(&mut it);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":26550,"byte_end":26568,"line_start":631,"line_end":631,"column_start":36,"column_end":54,"is_primary":true,"text":[{"text":" let mut ait: DBusMessageIter = std::mem::zeroed();","highlight_start":36,"highlight_end":54}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":26380,"byte_end":26466,"line_start":629,"line_end":629,"column_start":1,"column_end":87,"is_primary":true,"text":[{"text":"unsafe fn append_menu_props(dbus: &DBusLib, it: *mut DBusMessageIter, node: &MenuNode) {","highlight_start":1,"highlight_end":87}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":26467,"byte_end":26467,"line_start":629,"line_end":629,"column_start":88,"column_end":88,"is_primary":true,"text":[{"text":"unsafe fn append_menu_props(dbus: &DBusLib, it: *mut DBusMessageIter, node: &MenuNode) {","highlight_start":88,"highlight_end":88}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":27800,"byte_end":27800,"line_start":662,"line_end":662,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:631:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m631\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut ait: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:629:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m629\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn append_menu_props(dbus: &DBusLib, it: *mut DBusMessageIter, node: &MenuNode) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":26574,"byte_end":26659,"line_start":632,"line_end":632,"column_start":5,"column_end":90,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_open_container)(it, DBUS_TYPE_ARRAY, esig.as_ptr(), &mut ait);","highlight_start":5,"highlight_end":90}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:632:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m632\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_open_container)(it, DBUS_TYPE_ARRAY, esig.as_ptr(), &mut ait);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":26775,"byte_end":26793,"line_start":634,"line_end":634,"column_start":40,"column_end":58,"is_primary":true,"text":[{"text":" let mut eit: DBusMessageIter = std::mem::zeroed();","highlight_start":40,"highlight_end":58}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:634:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m634\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut eit: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":26803,"byte_end":26961,"line_start":635,"line_end":640,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_open_container)(","highlight_start":9,"highlight_end":49},{"text":" &mut ait,","highlight_start":1,"highlight_end":22},{"text":" DBUS_TYPE_DICT_ENTRY,","highlight_start":1,"highlight_end":34},{"text":" std::ptr::null(),","highlight_start":1,"highlight_end":30},{"text":" &mut eit,","highlight_start":1,"highlight_end":22},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:635:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m635\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_open_container)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m636\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut ait,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m637\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m DBUS_TYPE_DICT_ENTRY,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m638\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m std::ptr::null(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m639\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut eit,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m640\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":26971,"byte_end":27018,"line_start":641,"line_end":641,"column_start":9,"column_end":56,"is_primary":true,"text":[{"text":" append_str(dbus, &mut eit, DBUS_TYPE_STRING, k);","highlight_start":9,"highlight_end":56}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:641:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m641\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_str(dbus, &mut eit, DBUS_TYPE_STRING, k);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::in_variant` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":27028,"byte_end":27073,"line_start":642,"line_end":642,"column_start":9,"column_end":54,"is_primary":true,"text":[{"text":" in_variant(dbus, &mut eit, sig, |vit| f(vit));","highlight_start":9,"highlight_end":54}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::in_variant` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:642:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m642\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m in_variant(dbus, &mut eit, sig, |vit| f(vit));\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":27083,"byte_end":27143,"line_start":643,"line_end":643,"column_start":9,"column_end":69,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_close_container)(&mut ait, &mut eit);","highlight_start":9,"highlight_end":69}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:643:9\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m643\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_close_container)(&mut ait, &mut eit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":27222,"byte_end":27274,"line_start":647,"line_end":647,"column_start":13,"column_end":65,"is_primary":true,"text":[{"text":" append_str(dbus, vit, DBUS_TYPE_STRING, \"separator\");","highlight_start":13,"highlight_end":65}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:647:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m647\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_str(dbus, vit, DBUS_TYPE_STRING, \"separator\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":27348,"byte_end":27400,"line_start":651,"line_end":651,"column_start":13,"column_end":65,"is_primary":true,"text":[{"text":" append_str(dbus, vit, DBUS_TYPE_STRING, &node.label);","highlight_start":13,"highlight_end":65}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:651:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m651\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_str(dbus, vit, DBUS_TYPE_STRING, &node.label);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_bool` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":27449,"byte_end":27485,"line_start":653,"line_end":653,"column_start":36,"column_end":72,"is_primary":true,"text":[{"text":" put(\"enabled\", \"b\", &|vit| append_bool(dbus, vit, node.enabled));","highlight_start":36,"highlight_end":72}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_bool` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:653:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m653\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m put(\"enabled\", \"b\", &|vit| append_bool(dbus, vit, node.enabled));\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":27593,"byte_end":27643,"line_start":656,"line_end":656,"column_start":17,"column_end":67,"is_primary":true,"text":[{"text":" append_str(dbus, vit, DBUS_TYPE_STRING, \"submenu\");","highlight_start":17,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:656:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m656\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_str(dbus, vit, DBUS_TYPE_STRING, \"submenu\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_bool` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":27708,"byte_end":27736,"line_start":660,"line_end":660,"column_start":32,"column_end":60,"is_primary":true,"text":[{"text":" put(\"visible\", \"b\", &|vit| append_bool(dbus, vit, true));","highlight_start":32,"highlight_end":60}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_bool` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:660:32\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m660\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m put(\"visible\", \"b\", &|vit| append_bool(dbus, vit, true));\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":27743,"byte_end":27797,"line_start":661,"line_end":661,"column_start":5,"column_end":59,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_close_container)(it, &mut ait);","highlight_start":5,"highlight_end":59}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:661:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m661\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_close_container)(it, &mut ait);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":28142,"byte_end":28160,"line_start":676,"line_end":676,"column_start":36,"column_end":54,"is_primary":true,"text":[{"text":" let mut sit: DBusMessageIter = std::mem::zeroed();","highlight_start":36,"highlight_end":54}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":27898,"byte_end":28031,"line_start":666,"line_end":672,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"unsafe fn append_layout_node(","highlight_start":1,"highlight_end":30},{"text":" dbus: &DBusLib,","highlight_start":1,"highlight_end":20},{"text":" it: *mut DBusMessageIter,","highlight_start":1,"highlight_end":30},{"text":" menu: &[MenuNode],","highlight_start":1,"highlight_end":23},{"text":" id: i32,","highlight_start":1,"highlight_end":13},{"text":" depth: i32,","highlight_start":1,"highlight_end":16},{"text":") {","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":28032,"byte_end":28032,"line_start":672,"line_end":672,"column_start":3,"column_end":3,"is_primary":true,"text":[{"text":") {","highlight_start":3,"highlight_end":3}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":29258,"byte_end":29258,"line_start":700,"line_end":700,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:676:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m676\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut sit: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:666:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m666\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn append_layout_node(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m667\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m dbus: &DBusLib,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m668\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m it: *mut DBusMessageIter,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m669\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m menu: &[MenuNode],\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m670\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m id: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m671\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m depth: i32,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m672\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|_^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":28166,"byte_end":28255,"line_start":677,"line_end":677,"column_start":5,"column_end":94,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_open_container)(it, DBUS_TYPE_STRUCT, std::ptr::null(), &mut sit);","highlight_start":5,"highlight_end":94}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:677:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m677\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_open_container)(it, DBUS_TYPE_STRUCT, std::ptr::null(), &mut sit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_i32` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":28261,"byte_end":28291,"line_start":678,"line_end":678,"column_start":5,"column_end":35,"is_primary":true,"text":[{"text":" append_i32(dbus, &mut sit, id);","highlight_start":5,"highlight_end":35}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_i32` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:678:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m678\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_i32(dbus, &mut sit, id);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_menu_props` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":28297,"byte_end":28336,"line_start":679,"line_end":679,"column_start":5,"column_end":44,"is_primary":true,"text":[{"text":" append_menu_props(dbus, &mut sit, node);","highlight_start":5,"highlight_end":44}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_menu_props` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:679:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m679\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_menu_props(dbus, &mut sit, node);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":28416,"byte_end":28434,"line_start":681,"line_end":681,"column_start":36,"column_end":54,"is_primary":true,"text":[{"text":" let mut cit: DBusMessageIter = std::mem::zeroed();","highlight_start":36,"highlight_end":54}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:681:36\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m681\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut cit: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":28440,"byte_end":28531,"line_start":682,"line_end":682,"column_start":5,"column_end":96,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_open_container)(&mut sit, DBUS_TYPE_ARRAY, vsig.as_ptr(), &mut cit);","highlight_start":5,"highlight_end":96}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:682:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m682\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_open_container)(&mut sit, DBUS_TYPE_ARRAY, vsig.as_ptr(), &mut cit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":28761,"byte_end":28779,"line_start":687,"line_end":687,"column_start":44,"column_end":62,"is_primary":true,"text":[{"text":" let mut vit: DBusMessageIter = std::mem::zeroed();","highlight_start":44,"highlight_end":62}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:687:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m687\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut vit: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":28793,"byte_end":28965,"line_start":688,"line_end":693,"column_start":13,"column_end":14,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_open_container)(","highlight_start":13,"highlight_end":53},{"text":" &mut cit,","highlight_start":1,"highlight_end":26},{"text":" DBUS_TYPE_VARIANT,","highlight_start":1,"highlight_end":35},{"text":" ssig.as_ptr(),","highlight_start":1,"highlight_end":31},{"text":" &mut vit,","highlight_start":1,"highlight_end":26},{"text":" );","highlight_start":1,"highlight_end":14}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:688:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m688\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m/\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_open_container)(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m689\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut cit,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m690\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m DBUS_TYPE_VARIANT,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m691\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m ssig.as_ptr(),\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m692\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m &mut vit,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m693\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m );\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m|_____________^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_layout_node` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":28979,"byte_end":29039,"line_start":694,"line_end":694,"column_start":13,"column_end":73,"is_primary":true,"text":[{"text":" append_layout_node(dbus, &mut vit, menu, child, child_depth);","highlight_start":13,"highlight_end":73}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_layout_node` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:694:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m694\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_layout_node(dbus, &mut vit, menu, child, child_depth);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":29053,"byte_end":29113,"line_start":695,"line_end":695,"column_start":13,"column_end":73,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_close_container)(&mut cit, &mut vit);","highlight_start":13,"highlight_end":73}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:695:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m695\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_close_container)(&mut cit, &mut vit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":29135,"byte_end":29195,"line_start":698,"line_end":698,"column_start":5,"column_end":65,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_close_container)(&mut sit, &mut cit);","highlight_start":5,"highlight_end":65}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:698:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m698\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_close_container)(&mut sit, &mut cit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":29201,"byte_end":29255,"line_start":699,"line_end":699,"column_start":5,"column_end":59,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_close_container)(it, &mut sit);","highlight_start":5,"highlight_end":59}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:699:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m699\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_close_container)(it, &mut sit);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":31925,"byte_end":31943,"line_start":766,"line_end":766,"column_start":35,"column_end":53,"is_primary":true,"text":[{"text":" let mut it: DBusMessageIter = std::mem::zeroed();","highlight_start":35,"highlight_end":53}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":31810,"byte_end":31888,"line_start":765,"line_end":765,"column_start":1,"column_end":79,"is_primary":true,"text":[{"text":"unsafe fn read_first_i32(dbus: &DBusLib, msg: *mut DBusMessage) -> Option {","highlight_start":1,"highlight_end":79}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":31889,"byte_end":31889,"line_start":765,"line_end":765,"column_start":80,"column_end":80,"is_primary":true,"text":[{"text":"unsafe fn read_first_i32(dbus: &DBusLib, msg: *mut DBusMessage) -> Option {","highlight_start":80,"highlight_end":80}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":32253,"byte_end":32253,"line_start":776,"line_end":776,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:766:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m766\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut it: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:765:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m765\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe fn read_first_i32(dbus: &DBusLib, msg: *mut DBusMessage) -> Option {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":31952,"byte_end":31995,"line_start":767,"line_end":767,"column_start":8,"column_end":51,"is_primary":true,"text":[{"text":" if (dbus.dbus_message_iter_init)(msg, &mut it) == 0 {","highlight_start":8,"highlight_end":51}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:767:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m767\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (dbus.dbus_message_iter_init)(msg, &mut it) == 0 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":32037,"byte_end":32083,"line_start":770,"line_end":770,"column_start":8,"column_end":54,"is_primary":true,"text":[{"text":" if (dbus.dbus_message_iter_get_arg_type)(&mut it) != DBUS_TYPE_INT32 {","highlight_start":8,"highlight_end":54}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:770:8\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m770\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m if (dbus.dbus_message_iter_get_arg_type)(&mut it) != DBUS_TYPE_INT32 {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":32160,"byte_end":32238,"line_start":774,"line_end":774,"column_start":5,"column_end":83,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_get_basic)(&mut it, &mut v as *mut i32 as *mut c_void);","highlight_start":5,"highlight_end":83}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:774:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m774\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_get_basic)(&mut it, &mut v as *mut i32 as *mut c_void);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"dereference of raw pointer is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":32403,"byte_end":32434,"line_start":783,"line_end":783,"column_start":15,"column_end":46,"is_primary":true,"text":[{"text":" let st = &*(user_data as *const SniState);","highlight_start":15,"highlight_end":46}],"label":"dereference of raw pointer","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"an unsafe function restricts its caller, but its body is safe by default","code":null,"level":"note","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":32255,"byte_end":32386,"line_start":778,"line_end":782,"column_start":1,"column_end":11,"is_primary":true,"text":[{"text":"unsafe extern \"C\" fn menu_message(","highlight_start":1,"highlight_end":35},{"text":" conn: *mut DBusConnection,","highlight_start":1,"highlight_end":31},{"text":" msg: *mut DBusMessage,","highlight_start":1,"highlight_end":27},{"text":" user_data: *mut c_void,","highlight_start":1,"highlight_end":28},{"text":") -> c_int {","highlight_start":1,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"consider wrapping the function body in an unsafe block","code":null,"level":"help","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":32387,"byte_end":32387,"line_start":782,"line_end":782,"column_start":12,"column_end":12,"is_primary":true,"text":[{"text":") -> c_int {","highlight_start":12,"highlight_end":12}],"label":null,"suggested_replacement":"{ unsafe ","suggestion_applicability":"MachineApplicable","expansion":null},{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":42700,"byte_end":42700,"line_start":1007,"line_end":1007,"column_start":2,"column_end":2,"is_primary":true,"text":[{"text":"}","highlight_start":2,"highlight_end":2}],"label":null,"suggested_replacement":"}","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: dereference of raw pointer is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:783:15\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m783\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let st = &*(user_data as *const SniState);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mdereference of raw pointer\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;10mnote\u001b[0m\u001b[0m: an unsafe function restricts its caller, but its body is safe by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:778:1\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m778\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m/\u001b[0m\u001b[0m \u001b[0m\u001b[0munsafe extern \"C\" fn menu_message(\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m779\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m conn: *mut DBusConnection,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m780\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m msg: *mut DBusMessage,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m781\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m user_data: *mut c_void,\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m782\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m) -> c_int {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;10m|__________^\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":32478,"byte_end":32516,"line_start":786,"line_end":786,"column_start":17,"column_end":55,"is_primary":true,"text":[{"text":" let iface = (dbus.dbus_message_get_interface)(msg);","highlight_start":17,"highlight_end":55}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:786:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m786\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let iface = (dbus.dbus_message_get_interface)(msg);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":32535,"byte_end":32570,"line_start":787,"line_end":787,"column_start":18,"column_end":53,"is_primary":true,"text":[{"text":" let member = (dbus.dbus_message_get_member)(msg);","highlight_start":18,"highlight_end":53}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:787:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m787\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let member = (dbus.dbus_message_get_member)(msg);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":32691,"byte_end":32712,"line_start":791,"line_end":791,"column_start":17,"column_end":38,"is_primary":true,"text":[{"text":" let iface = CStr::from_ptr(iface).to_string_lossy();","highlight_start":17,"highlight_end":38}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:791:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m791\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let iface = CStr::from_ptr(iface).to_string_lossy();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":32749,"byte_end":32771,"line_start":792,"line_end":792,"column_start":18,"column_end":40,"is_primary":true,"text":[{"text":" let member = CStr::from_ptr(member).to_string_lossy();","highlight_start":18,"highlight_end":40}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::ffi::CStr::from_ptr` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:792:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m792\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let member = CStr::from_ptr(member).to_string_lossy();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":32920,"byte_end":32962,"line_start":796,"line_end":796,"column_start":25,"column_end":67,"is_primary":true,"text":[{"text":" let reply = (dbus.dbus_message_new_method_return)(msg);","highlight_start":25,"highlight_end":67}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:796:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m796\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let reply = (dbus.dbus_message_new_method_return)(msg);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":33044,"byte_end":33062,"line_start":798,"line_end":798,"column_start":47,"column_end":65,"is_primary":true,"text":[{"text":" let mut it: DBusMessageIter = std::mem::zeroed();","highlight_start":47,"highlight_end":65}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `std::mem::zeroed` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:798:47\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m798\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m let mut it: DBusMessageIter = std::mem::zeroed();\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":33080,"byte_end":33132,"line_start":799,"line_end":799,"column_start":17,"column_end":69,"is_primary":true,"text":[{"text":" (dbus.dbus_message_iter_init_append)(reply, &mut it);","highlight_start":17,"highlight_end":69}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:799:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m799\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m (dbus.dbus_message_iter_init_append)(reply, &mut it);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":33150,"byte_end":33220,"line_start":800,"line_end":800,"column_start":17,"column_end":87,"is_primary":true,"text":[{"text":" append_str(dbus, &mut it, DBUS_TYPE_STRING, &menu_introspection_xml());","highlight_start":17,"highlight_end":87}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::append_str` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:800:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m800\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m append_str(dbus, &mut it, DBUS_TYPE_STRING, &menu_introspection_xml());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mcall to unsafe function\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: for more information, see \u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: consult the function's documentation for information on how to avoid undefined behavior\u001b[0m\n\n"} {"$message_type":"diagnostic","message":"call to unsafe function `desktop::tray::linux::read_two_strings` is unsafe and requires unsafe block","code":{"code":"E0133","explanation":"Unsafe code was used outside of an unsafe block.\n\nErroneous code example:\n\n```compile_fail,E0133\nunsafe fn f() { return; } // This is the unsafe code\n\nfn main() {\n f(); // error: call to unsafe function requires unsafe function or block\n}\n```\n\nUsing unsafe functionality is potentially dangerous and disallowed by safety\nchecks. Examples:\n\n* Dereferencing raw pointers\n* Calling functions via FFI\n* Calling functions marked unsafe\n\nThese safety checks can be relaxed for a section of the code by wrapping the\nunsafe instructions with an `unsafe` block. For instance:\n\n```\nunsafe fn f() { return; }\n\nfn main() {\n unsafe { f(); } // ok!\n}\n```\n\nSee the [unsafe section][unsafe-section] of the Book for more details.\n\n#### Unsafe code in functions\n\nUnsafe code is currently accepted in unsafe functions, but that is being phased\nout in favor of requiring unsafe blocks here too.\n\n```\nunsafe fn f() { return; }\n\nunsafe fn g() {\n f(); // Is accepted, but no longer recommended\n unsafe { f(); } // Recommended way to write this\n}\n```\n\nLinting against this is controlled via the `unsafe_op_in_unsafe_fn` lint, which\nis `warn` by default in the 2024 edition and `allow` by default in earlier\neditions.\n\n[unsafe-section]: https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html\n"},"level":"warning","spans":[{"file_name":"dll/src/desktop/tray/linux.rs","byte_start":33332,"byte_end":33359,"line_start":805,"line_end":805,"column_start":35,"column_end":62,"is_primary":true,"text":[{"text":" let (_, Some(prop)) = read_two_strings(dbus, msg) else {","highlight_start":35,"highlight_end":62}],"label":"call to unsafe function","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see ","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consult the function's documentation for information on how to avoid undefined behavior","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning[E0133]\u001b[0m\u001b[0m\u001b[1m: call to unsafe function `desktop::tray::linux::read_two_strings` is unsafe and requires unsafe block\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0mdll/src/desktop/tray/linux.rs:805:35\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u