Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package cxx-rust-cssparser for 
openSUSE:Factory checked in at 2026-09-18 22:03:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cxx-rust-cssparser (Old)
 and      /work/SRC/openSUSE:Factory/.cxx-rust-cssparser.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cxx-rust-cssparser"

Fri Sep 18 22:03:49 2026 rev:2 rq:1378587 version:1.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/cxx-rust-cssparser/cxx-rust-cssparser.changes    
2026-05-21 18:28:54.830442226 +0200
+++ 
/work/SRC/openSUSE:Factory/.cxx-rust-cssparser.new.383539/cxx-rust-cssparser.changes
        2026-09-18 22:04:41.560951865 +0200
@@ -1,0 +2,16 @@
+Thu Sep 10 10:17:37 UTC 2026 - Fabian Vogt <[email protected]>
+
+- Update to 1.1.0:
+  * cmake: bump version to 1.1.0 in master branch
+  * Make an option for toggling using corrosion for bridge building
+  * Correct the include path used by the non-corrosion cxxbridge
+  * Fix the empty KDE License
+  * Fix leaking stylesheet
+  * rust: Update cargo packages to latest version
+  * Simplify building by removing the option to build with 
corrosion_add_cxxbridge
+  * Support parsing the ::part() pseudo-element selector
+  * rust: Support parsing the ":state()" pseudo-class function as pseudo class
+- Drop patches, now upstream:
+  * Fix_offline_build.patch
+
+-------------------------------------------------------------------

Old:
----
  Fix_offline_build.patch
  cxx-rust-cssparser-1.0.0.tar.xz
  cxx-rust-cssparser-1.0.0.tar.xz.sig

New:
----
  cxx-rust-cssparser-1.1.0.tar.xz
  cxx-rust-cssparser-1.1.0.tar.xz.sig

----------(Old B)----------
  Old:- Drop patches, now upstream:
  * Fix_offline_build.patch
----------(Old E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cxx-rust-cssparser.spec ++++++
--- /var/tmp/diff_new_pack.DdYVE6/_old  2026-09-18 22:04:42.816004464 +0200
+++ /var/tmp/diff_new_pack.DdYVE6/_new  2026-09-18 22:04:42.819004590 +0200
@@ -21,7 +21,7 @@
 %bcond_without released
 
 Name:           cxx-rust-cssparser
-Version:        1.0.0
+Version:        1.1.0
 Release:        0
 Summary:        Library for parsing CSS using the Rust cssparser crate
 License:        LGPL-2.1-or-later
@@ -32,8 +32,6 @@
 Source2:        cxx-rust-cssparser.keyring
 %endif
 Source3:        vendor.tar.zst
-# PATCH-FIX-UPSTREAM
-Patch0:         Fix_offline_build.patch
 BuildRequires:  corrosion
 BuildRequires:  kf6-extra-cmake-modules >= %{kf6_version}
 BuildRequires:  zstd

++++++ cxx-rust-cssparser-1.0.0.tar.xz -> cxx-rust-cssparser-1.1.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cxx-rust-cssparser-1.0.0/CMakeLists.txt 
new/cxx-rust-cssparser-1.1.0/CMakeLists.txt
--- old/cxx-rust-cssparser-1.0.0/CMakeLists.txt 2026-05-14 08:31:26.000000000 
+0200
+++ new/cxx-rust-cssparser-1.1.0/CMakeLists.txt 2026-09-10 11:22:16.000000000 
+0200
@@ -3,7 +3,7 @@
 
 cmake_minimum_required(VERSION 3.27)
 
-project(cxx-rust-cssparser VERSION 1.0.0)
+project(cxx-rust-cssparser VERSION 1.1.0)
 
 set(KF_DEP_VERSION 6.10.0)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cxx-rust-cssparser-1.0.0/LICENSES/LicenseRef-KDE-Accepted-LGPL.txt 
new/cxx-rust-cssparser-1.1.0/LICENSES/LicenseRef-KDE-Accepted-LGPL.txt
--- old/cxx-rust-cssparser-1.0.0/LICENSES/LicenseRef-KDE-Accepted-LGPL.txt      
2026-05-14 08:31:26.000000000 +0200
+++ new/cxx-rust-cssparser-1.1.0/LICENSES/LicenseRef-KDE-Accepted-LGPL.txt      
2026-09-10 11:22:16.000000000 +0200
@@ -0,0 +1,12 @@
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 3 of the license or (at your option) any later version
+that is accepted by the membership of KDE e.V. (or its successor
+approved by the membership of KDE e.V.), which shall act as a
+proxy as defined in Section 6 of version 3 of the license.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cxx-rust-cssparser-1.0.0/cpp/CMakeLists.txt 
new/cxx-rust-cssparser-1.1.0/cpp/CMakeLists.txt
--- old/cxx-rust-cssparser-1.0.0/cpp/CMakeLists.txt     2026-05-14 
08:31:26.000000000 +0200
+++ new/cxx-rust-cssparser-1.1.0/cpp/CMakeLists.txt     2026-09-10 
11:22:16.000000000 +0200
@@ -28,12 +28,7 @@
     ${CMAKE_CURRENT_BINARY_DIR}/cssparser_export.h
 )
 
-if(DEFINED ENV{FLATPAK_ID})
-    target_link_libraries(cxx-rust-cssparser PRIVATE cxx_rust_cssparser_impl)
-else()
-    target_link_libraries(cxx-rust-cssparser PRIVATE 
cxx-rust-cssparser-impl-bridge)
-endif()
-
+target_link_libraries(cxx-rust-cssparser PRIVATE 
cxx-rust-cssparser-impl-bridge)
 target_include_directories(cxx-rust-cssparser PUBLIC
     "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
     "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/cxx-rust-cssparser>"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cxx-rust-cssparser-1.0.0/cpp/Color.cpp 
new/cxx-rust-cssparser-1.1.0/cpp/Color.cpp
--- old/cxx-rust-cssparser-1.0.0/cpp/Color.cpp  2026-05-14 08:31:26.000000000 
+0200
+++ new/cxx-rust-cssparser-1.1.0/cpp/Color.cpp  2026-09-10 11:22:16.000000000 
+0200
@@ -5,7 +5,7 @@
 
 #include <format>
 
-#include "cxx-rust-cssparser-impl-bridge/ffi.h"
+#include "ffi.rs.h"
 
 using namespace std::string_literals;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cxx-rust-cssparser-1.0.0/cpp/CssParser.cpp 
new/cxx-rust-cssparser-1.1.0/cpp/CssParser.cpp
--- old/cxx-rust-cssparser-1.0.0/cpp/CssParser.cpp      2026-05-14 
08:31:26.000000000 +0200
+++ new/cxx-rust-cssparser-1.1.0/cpp/CssParser.cpp      2026-09-10 
11:22:16.000000000 +0200
@@ -6,7 +6,7 @@
 #include <iostream>
 #include <fstream>
 
-#include "cxx-rust-cssparser-impl-bridge/ffi.h"
+#include "ffi.rs.h"
 
 using namespace std::string_literals;
 
@@ -52,23 +52,25 @@
 
 struct StyleSheet::Private
 {
+    Private(std::filesystem::path path)
+        : path(path)
+        , stylesheet(rust::create_stylesheet(path.string()))
+    {
+    }
+
     void update();
 
     std::filesystem::path path;
 
-    rust::StyleSheet *stylesheet;
+    ::rust::Box<rust::StyleSheet> stylesheet;
     std::vector<Rule> rules;
     std::vector<Error> errors;
     std::vector<std::filesystem::path> paths;
 };
 
 StyleSheet::StyleSheet(const std::filesystem::path &path)
-    : d(std::make_unique<Private>())
+    : d(std::make_unique<Private>(path))
 {
-    d->path = path;
-
-    auto sheet = rust::create_stylesheet(path.string());
-    d->stylesheet = sheet.into_raw();
 }
 
 StyleSheet::~StyleSheet() = default;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cxx-rust-cssparser-1.0.0/cpp/Selector.cpp 
new/cxx-rust-cssparser-1.1.0/cpp/Selector.cpp
--- old/cxx-rust-cssparser-1.0.0/cpp/Selector.cpp       2026-05-14 
08:31:26.000000000 +0200
+++ new/cxx-rust-cssparser-1.1.0/cpp/Selector.cpp       2026-09-10 
11:22:16.000000000 +0200
@@ -5,7 +5,7 @@
 
 #include <format>
 
-#include "cxx-rust-cssparser-impl-bridge/ffi.h"
+#include "ffi.rs.h"
 
 using namespace std::string_literals;
 
@@ -51,12 +51,16 @@
         return "PseudoClass"s;
     case SelectorPart::Kind::DocumentRoot:
         return "DocumentRoot"s;
+    case SelectorPart::Kind::Part:
+        return "Part"s;
     case SelectorPart::Kind::DescendantCombinator:
         return "DescendantCombinator"s;
     case SelectorPart::Kind::ChildCombinator:
         return "ChildCombinator"s;
     case SelectorPart::Kind::CombinatorStart:
         return "CombinatorStart"s;
+    case SelectorPart::Kind::PartCombinator:
+        return "PartCombinator"s;
     }
 
     return "Unknown"s;
@@ -71,6 +75,7 @@
     case SelectorPart::Kind::DocumentRoot:
     case SelectorPart::Kind::DescendantCombinator:
     case SelectorPart::Kind::ChildCombinator:
+    case SelectorPart::Kind::PartCombinator:
         return std::format("SelectorPart(type: {})", kind);
     default:
         return std::format("SelectorPart(type: {}, value: {})", kind, 
m_value.toString());
@@ -98,10 +103,14 @@
         return SelectorPart::Kind::RelativeParent;
     case rust::SelectorKind::DocumentRoot:
         return SelectorPart::Kind::DocumentRoot;
+    case rust::SelectorKind::Part:
+        return SelectorPart::Kind::Part;
     case rust::SelectorKind::DescendantCombinator:
         return SelectorPart::Kind::DescendantCombinator;
     case rust::SelectorKind::ChildCombinator:
         return SelectorPart::Kind::ChildCombinator;
+    case rust::SelectorKind::PartCombinator:
+        return SelectorPart::Kind::PartCombinator;
     }
 
     assert(false && "Mismatch between SelectorPart kinds in C++ and Rust, 
update C++ code!");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cxx-rust-cssparser-1.0.0/cpp/Selector.h 
new/cxx-rust-cssparser-1.1.0/cpp/Selector.h
--- old/cxx-rust-cssparser-1.0.0/cpp/Selector.h 2026-05-14 08:31:26.000000000 
+0200
+++ new/cxx-rust-cssparser-1.1.0/cpp/Selector.h 2026-09-10 11:22:16.000000000 
+0200
@@ -78,12 +78,14 @@
         Attribute,
         RelativeParent,
         DocumentRoot,
+        Part,
 
         // Special value to mark the start of combinator selectors
         CombinatorStart,
 
         DescendantCombinator,
         ChildCombinator,
+        PartCombinator,
     };
 
     SelectorPart();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cxx-rust-cssparser-1.0.0/cpp/Value.cpp 
new/cxx-rust-cssparser-1.1.0/cpp/Value.cpp
--- old/cxx-rust-cssparser-1.0.0/cpp/Value.cpp  2026-05-14 08:31:26.000000000 
+0200
+++ new/cxx-rust-cssparser-1.1.0/cpp/Value.cpp  2026-09-10 11:22:16.000000000 
+0200
@@ -5,7 +5,7 @@
 
 #include <format>
 
-#include "cxx-rust-cssparser-impl-bridge/ffi.h"
+#include "ffi.rs.h"
 
 using namespace std::string_literals;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cxx-rust-cssparser-1.0.0/rust/CMakeLists.txt 
new/cxx-rust-cssparser-1.1.0/rust/CMakeLists.txt
--- old/cxx-rust-cssparser-1.0.0/rust/CMakeLists.txt    2026-05-14 
08:31:26.000000000 +0200
+++ new/cxx-rust-cssparser-1.1.0/rust/CMakeLists.txt    2026-09-10 
11:22:16.000000000 +0200
@@ -2,29 +2,29 @@
 # SPDX-FileCopyrightText: 2025 Arjen Hiemstra <[email protected]>
 
 corrosion_import_crate(MANIFEST_PATH Cargo.toml)
+corrosion_set_env_vars(cxx_rust_cssparser_impl 
CARGO_TARGET_DIR=${CMAKE_CURRENT_BINARY_DIR}/output)
 
-if(DEFINED ENV{FLATPAK_ID})
-    # Flatpak: use cxx_build output directly instead of 
corrosion_add_cxxbridge.
-    string(SHA1 _cargo_path_hash ${CMAKE_CURRENT_SOURCE_DIR}/Cargo.toml)
-    string(SUBSTRING "${_cargo_path_hash}" 0 5 _cargo_path_hash)
-    set(_cxxbridge_dir 
${CMAKE_BINARY_DIR}/cargo/rust_${_cargo_path_hash}/${Rust_CARGO_TARGET}/cxxbridge)
-
-    # Forward the cxx_build header to the path corrosion_add_cxxbridge would 
use.
-    set(_bridge_include_dir 
${CMAKE_CURRENT_BINARY_DIR}/corrosion_generated/cxxbridge)
-    file(MAKE_DIRECTORY ${_bridge_include_dir}/cxx-rust-cssparser-impl-bridge)
-    file(WRITE ${_bridge_include_dir}/cxx-rust-cssparser-impl-bridge/ffi.h
-        "#pragma once\n#include 
\"${_cxxbridge_dir}/cxx_rust_cssparser_impl/src/ffi.rs.h\"\n"
-    )
-
-    target_include_directories(cxx_rust_cssparser_impl INTERFACE 
${_bridge_include_dir})
-else()
-    corrosion_add_cxxbridge(cxx-rust-cssparser-impl-bridge
-        CRATE cxx_rust_cssparser_impl
-        FILES ffi.rs
-    )
+set_source_files_properties(
+    
${CMAKE_CURRENT_BINARY_DIR}/output/cxxbridge/cxx-rust-cssparser-impl/src/ffi.rs.cc
+    
${CMAKE_CURRENT_BINARY_DIR}/output/cxxbridge/cxx-rust-cssparser-impl/src/ffi.rs.h
+    PROPERTIES GENERATED ON
+)
+
+add_library(cxx-rust-cssparser-impl-bridge STATIC)
+target_sources(cxx-rust-cssparser-impl-bridge PRIVATE
+    
${CMAKE_CURRENT_BINARY_DIR}/output/cxxbridge/cxx-rust-cssparser-impl/src/ffi.rs.cc
+    
${CMAKE_CURRENT_BINARY_DIR}/output/cxxbridge/cxx-rust-cssparser-impl/src/ffi.rs.h
+)
+
+target_include_directories(cxx-rust-cssparser-impl-bridge PUBLIC
+    ${CMAKE_CURRENT_BINARY_DIR}/output/cxxbridge/cxx-rust-cssparser-impl/src
+)
+
+set_target_properties(cxx-rust-cssparser-impl-bridge PROPERTIES 
POSITION_INDEPENDENT_CODE ON)
+target_compile_options(cxx-rust-cssparser-impl-bridge PRIVATE 
-Wno-maybe-uninitialized)
+target_link_libraries(cxx-rust-cssparser-impl-bridge PRIVATE 
cxx_rust_cssparser_impl)
 
-    set_target_properties(cxx-rust-cssparser-impl-bridge PROPERTIES 
POSITION_INDEPENDENT_CODE TRUE)
-endif()
+add_dependencies(cxx-rust-cssparser-impl-bridge cxx_rust_cssparser_impl)
 
 if (BUILD_TESTING)
     add_test(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cxx-rust-cssparser-1.0.0/rust/Cargo.lock 
new/cxx-rust-cssparser-1.1.0/rust/Cargo.lock
--- old/cxx-rust-cssparser-1.0.0/rust/Cargo.lock        2026-05-14 
08:31:26.000000000 +0200
+++ new/cxx-rust-cssparser-1.1.0/rust/Cargo.lock        2026-09-10 
11:22:16.000000000 +0200
@@ -10,21 +10,15 @@
 
 [[package]]
 name = "bitflags"
-version = "2.11.1"
+version = "2.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3"
-
-[[package]]
-name = "byteorder"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da"
 
 [[package]]
 name = "cc"
-version = "1.2.60"
+version = "1.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20"
+checksum = "0ad534f4357a5264cce5019c989cf66a4f0dc4e0d1b1d15f8aacec0ff7360273"
 dependencies = [
  "find-msvc-tools",
  "shlex",
@@ -32,18 +26,18 @@
 
 [[package]]
 name = "clap"
-version = "4.6.1"
+version = "4.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51"
+checksum = "473c7e07f409a8d772161724aa8db6a765a2532a70f9667eeb7b49d3d02fbdca"
 dependencies = [
  "clap_builder",
 ]
 
 [[package]]
 name = "clap_builder"
-version = "4.6.0"
+version = "4.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f"
+checksum = "7b48fea5a88e9ae728a2dcbedbfc0e730f7d60da42e1cb049a83c9fb8b789889"
 dependencies = [
  "anstyle",
  "clap_lex",
@@ -69,9 +63,9 @@
 
 [[package]]
 name = "cssparser"
-version = "0.35.0"
+version = "0.37.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "4e901edd733a1472f944a45116df3f846f54d37e67e68640ac8bb69689aca2aa"
+checksum = "8c9cdaae01d5ed7882b04d795e7f752f46ff52d2fa3b50a20d28c464510bba98"
 dependencies = [
  "cssparser-macros",
  "dtoa-short",
@@ -82,28 +76,28 @@
 
 [[package]]
 name = "cssparser-color"
-version = "0.3.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "6eeef9ae8c0e112edd89eb6406b3156ffa99c7e037b3baef1dbdf4158d35c324"
+checksum = "bbaa233e1dcd9c13a5d3e3a8a2c0f5a727bac380398345dbcb31db4597edc86b"
 dependencies = [
  "cssparser",
 ]
 
 [[package]]
 name = "cssparser-macros"
-version = "0.6.1"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
+checksum = "10a2a99df6e410a8ff4245aa2006499ea662245f967cc7c0a38c83ef8eb44dbf"
 dependencies = [
  "quote",
- "syn",
+ "syn 2.0.119",
 ]
 
 [[package]]
 name = "cxx"
-version = "1.0.194"
+version = "1.0.199"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "747d8437319e3a2f43d93b341c137927ca70c0f5dabeea7a005a73665e247c7e"
+checksum = "824894a4a85dca76d4c95c2b9098c036f5a29f627b30c12780774f6654e60974"
 dependencies = [
  "cc",
  "cxx-build",
@@ -116,9 +110,9 @@
 
 [[package]]
 name = "cxx-build"
-version = "1.0.194"
+version = "1.0.199"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b0f4697d190a142477b16aef7da8a99bfdc41e7e8b1687583c0d23a79c7afc1e"
+checksum = "f1ae0b651ea5b0000b19513aef5a03f194d7e3486f2d9258b658da8677fe9036"
 dependencies = [
  "cc",
  "codespan-reporting",
@@ -126,7 +120,7 @@
  "proc-macro2",
  "quote",
  "scratch",
- "syn",
+ "syn 3.0.4",
 ]
 
 [[package]]
@@ -144,45 +138,55 @@
 
 [[package]]
 name = "cxxbridge-cmd"
-version = "1.0.194"
+version = "1.0.199"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d0956799fa8678d4c50eed028f2de1c0552ae183c76e976cf7ca8c4e36a7c328"
+checksum = "fb05f91d3fb8435d9bab6ac5ce6ac1868be774325fb7fb2a91be39393b21388e"
 dependencies = [
  "clap",
  "codespan-reporting",
  "indexmap",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 3.0.4",
 ]
 
 [[package]]
 name = "cxxbridge-flags"
-version = "1.0.194"
+version = "1.0.199"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "23384a836ab4f0ad98ace7e3955ad2de39de42378ab487dc28d3990392cb283a"
+checksum = "bf293202e0e3e98495785745389e8d0755b217e66f19194a5c695c25e03282ef"
 
 [[package]]
 name = "cxxbridge-macro"
-version = "1.0.194"
+version = "1.0.199"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e6acc6b5822b9526adfb4fc377b67128fdd60aac757cc4a741a6278603f763cf"
+checksum = "ca001d746947c7249ed9d332a10f7a59daedbafeb0ec68c5c18a7db7a93f6ccc"
 dependencies = [
  "indexmap",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 3.0.4",
 ]
 
 [[package]]
 name = "derive_more"
-version = "0.99.20"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134"
+dependencies = [
+ "derive_more-impl",
+]
+
+[[package]]
+name = "derive_more-impl"
+version = "2.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f"
+checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "rustc_version",
+ "syn 2.0.119",
 ]
 
 [[package]]
@@ -207,10 +211,16 @@
 checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
 
 [[package]]
+name = "fastrand"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223"
+
+[[package]]
 name = "find-msvc-tools"
-version = "0.1.9"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
+checksum = "d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890"
 
 [[package]]
 name = "foldhash"
@@ -219,25 +229,16 @@
 checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
 
 [[package]]
-name = "fxhash"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
 name = "hashbrown"
-version = "0.17.0"
+version = "0.17.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51"
+checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"
 
 [[package]]
 name = "indexmap"
-version = "2.14.0"
+version = "2.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"
+checksum = "07aa2048142242915a31d35844fb311e0e53fcca590c3a0a40dcf1b841fa09eb"
 dependencies = [
  "equivalent",
  "hashbrown",
@@ -260,15 +261,15 @@
 
 [[package]]
 name = "log"
-version = "0.4.29"
+version = "0.4.34"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
+checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
 
 [[package]]
 name = "memchr"
-version = "2.8.0"
+version = "2.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
+checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
 
 [[package]]
 name = "new_debug_unreachable"
@@ -287,19 +288,20 @@
 
 [[package]]
 name = "phf"
-version = "0.11.3"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078"
+checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf"
 dependencies = [
  "phf_macros",
  "phf_shared",
+ "serde",
 ]
 
 [[package]]
 name = "phf_codegen"
-version = "0.11.3"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a"
+checksum = "49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1"
 dependencies = [
  "phf_generator",
  "phf_shared",
@@ -307,32 +309,32 @@
 
 [[package]]
 name = "phf_generator"
-version = "0.11.3"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d"
+checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737"
 dependencies = [
+ "fastrand",
  "phf_shared",
- "rand",
 ]
 
 [[package]]
 name = "phf_macros"
-version = "0.11.3"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216"
+checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef"
 dependencies = [
  "phf_generator",
  "phf_shared",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.119",
 ]
 
 [[package]]
 name = "phf_shared"
-version = "0.11.3"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5"
+checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266"
 dependencies = [
  "siphasher",
 ]
@@ -345,36 +347,36 @@
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.106"
+version = "1.0.107"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
+checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.45"
+version = "1.0.47"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
+checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
-name = "rand"
-version = "0.8.6"
+name = "rustc-hash"
+version = "2.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a"
-dependencies = [
- "rand_core",
-]
+checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d"
 
 [[package]]
-name = "rand_core"
-version = "0.6.4"
+name = "rustc_version"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
+dependencies = [
+ "semver",
+]
 
 [[package]]
 name = "scratch"
@@ -384,28 +386,34 @@
 
 [[package]]
 name = "selectors"
-version = "0.27.0"
+version = "0.40.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5b75e048a93e14929e68e37b82e207db957cbb368375a80ed3ca28ac75080856"
+checksum = "eeee001a77567bb05e71652718d3ff76d8697c151ac523e68e9513194eb2b75a"
 dependencies = [
  "bitflags",
  "cssparser",
  "derive_more",
- "fxhash",
  "log",
  "new_debug_unreachable",
  "phf",
  "phf_codegen",
  "precomputed-hash",
+ "rustc-hash",
  "servo_arc",
  "smallvec",
 ]
 
 [[package]]
+name = "semver"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd"
+
+[[package]]
 name = "serde"
-version = "1.0.228"
+version = "1.0.229"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
+checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
 dependencies = [
  "serde_core",
  "serde_derive",
@@ -413,22 +421,22 @@
 
 [[package]]
 name = "serde_core"
-version = "1.0.228"
+version = "1.0.229"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
+checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.228"
+version = "1.0.229"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
+checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 3.0.4",
 ]
 
 [[package]]
@@ -442,21 +450,21 @@
 
 [[package]]
 name = "shlex"
-version = "1.3.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
 
 [[package]]
 name = "siphasher"
-version = "1.0.2"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e"
+checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649"
 
 [[package]]
 name = "smallvec"
-version = "1.15.1"
+version = "1.15.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
+checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
 
 [[package]]
 name = "stable_deref_trait"
@@ -472,9 +480,20 @@
 
 [[package]]
 name = "syn"
-version = "2.0.117"
+version = "2.0.119"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "3.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
+checksum = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f"
 dependencies = [
  "proc-macro2",
  "quote",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cxx-rust-cssparser-1.0.0/rust/Cargo.toml 
new/cxx-rust-cssparser-1.1.0/rust/Cargo.toml
--- old/cxx-rust-cssparser-1.0.0/rust/Cargo.toml        2026-05-14 
08:31:26.000000000 +0200
+++ new/cxx-rust-cssparser-1.1.0/rust/Cargo.toml        2026-09-10 
11:22:16.000000000 +0200
@@ -8,9 +8,9 @@
 
 [dependencies]
 cxx = "1.0"
-cssparser = "0.35"
-cssparser-color = "0.3"
-selectors = "0.27.0"
+cssparser = "0.37"
+cssparser-color = "0.5"
+selectors = "0.40.0"
 precomputed-hash = "0.1.1"
 nom = "8.0.0"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cxx-rust-cssparser-1.0.0/rust/build.rs 
new/cxx-rust-cssparser-1.1.0/rust/build.rs
--- old/cxx-rust-cssparser-1.0.0/rust/build.rs  2026-05-14 08:31:26.000000000 
+0200
+++ new/cxx-rust-cssparser-1.1.0/rust/build.rs  2026-09-10 11:22:16.000000000 
+0200
@@ -4,5 +4,6 @@
 fn main() {
     cxx_build::bridge("src/ffi.rs")
         .std("c++20")
+        .flag("-Wno-maybe-uninitialized")
         .compile("cxx-rust-cssparser-impl");
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cxx-rust-cssparser-1.0.0/rust/src/details/selectorparser.rs 
new/cxx-rust-cssparser-1.1.0/rust/src/details/selectorparser.rs
--- old/cxx-rust-cssparser-1.0.0/rust/src/details/selectorparser.rs     
2026-05-14 08:31:26.000000000 +0200
+++ new/cxx-rust-cssparser-1.1.0/rust/src/details/selectorparser.rs     
2026-09-10 11:22:16.000000000 +0200
@@ -142,6 +142,10 @@
                         });
                     },
 
+                    selectors::parser::Component::Part(part) => {
+                        parts.insert(0, 
SelectorPart::new_with_value(SelectorKind::Part, 
Value::from(part.first().unwrap())))
+                    },
+
                     selectors::parser::Component::Combinator(combinator) => {
                         selector.parts.extend(parts);
                         parts = Vec::new();
@@ -149,6 +153,7 @@
                         match combinator {
                             selectors::parser::Combinator::Descendant => 
selector.parts.push(SelectorPart::new_with_empty(SelectorKind::DescendantCombinator)),
                             selectors::parser::Combinator::Child => 
selector.parts.push(SelectorPart::new_with_empty(SelectorKind::ChildCombinator)),
+                            selectors::parser::Combinator::Part => 
selector.parts.push(SelectorPart::new_with_empty(SelectorKind::PartCombinator)),
                             _ => println!("Warning: Combinator {:#?} not 
implemented", combinator),
                         }
                     }
@@ -176,6 +181,20 @@
         Ok(PseudoClass(name.to_string()))
     }
 
+    fn parse_non_ts_functional_pseudo_class<'t>(
+        &self,
+        name: cssparser::CowRcStr<'i>,
+        parser: &mut cssparser::Parser<'i, 't>,
+        _after_part: bool,
+    ) -> Result<<Self::Impl as selectors::SelectorImpl>::NonTSPseudoClass, 
cssparser::ParseError<'i, Self::Error>> {
+        if name == "state" {
+            let state_name = parser.expect_ident()?;
+            Ok(PseudoClass(state_name.to_string()))
+        } else {
+            
Err(parser.new_custom_error(selectors::parser::SelectorParseErrorKind::UnsupportedPseudoClassOrElement(name)))
+        }
+    }
+
     fn parse_pseudo_element(
         &self,
        _location: cssparser::SourceLocation,
@@ -187,4 +206,8 @@
     fn parse_parent_selector(&self) -> bool {
         true
     }
+
+    fn parse_part(&self) -> bool {
+        true
+    }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cxx-rust-cssparser-1.0.0/rust/src/ffi.rs 
new/cxx-rust-cssparser-1.1.0/rust/src/ffi.rs
--- old/cxx-rust-cssparser-1.0.0/rust/src/ffi.rs        2026-05-14 
08:31:26.000000000 +0200
+++ new/cxx-rust-cssparser-1.1.0/rust/src/ffi.rs        2026-09-10 
11:22:16.000000000 +0200
@@ -112,8 +112,10 @@
         Attribute,
         RelativeParent,
         DocumentRoot,
+        Part,
         DescendantCombinator,
         ChildCombinator,
+        PartCombinator,
     }
 
     #[derive(Debug, Clone, Copy)]
@@ -256,8 +258,10 @@
     SelectorKind::Attribute => Attribute,
     SelectorKind::RelativeParent => RelativeParent,
     SelectorKind::DocumentRoot => DocumentRoot,
+    SelectorKind::Part => Part,
     SelectorKind::DescendantCombinator => DescendantCombinator,
     SelectorKind::ChildCombinator => ChildCombinator,
+    SelectorKind::PartCombinator => PartCombinator,
 });
 
 convert_enum!(value::ColorOperation, ffi::ColorOperationType, {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cxx-rust-cssparser-1.0.0/rust/src/selector.rs 
new/cxx-rust-cssparser-1.1.0/rust/src/selector.rs
--- old/cxx-rust-cssparser-1.0.0/rust/src/selector.rs   2026-05-14 
08:31:26.000000000 +0200
+++ new/cxx-rust-cssparser-1.1.0/rust/src/selector.rs   2026-09-10 
11:22:16.000000000 +0200
@@ -26,8 +26,10 @@
     Attribute,
     RelativeParent,
     DocumentRoot,
+    Part,
     DescendantCombinator,
     ChildCombinator,
+    PartCombinator,
 }
 
 #[derive(Debug, Clone, PartialEq)]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cxx-rust-cssparser-1.0.0/rust/src/tests/selectorparser.rs 
new/cxx-rust-cssparser-1.1.0/rust/src/tests/selectorparser.rs
--- old/cxx-rust-cssparser-1.0.0/rust/src/tests/selectorparser.rs       
2026-05-14 08:31:26.000000000 +0200
+++ new/cxx-rust-cssparser-1.1.0/rust/src/tests/selectorparser.rs       
2026-09-10 11:22:16.000000000 +0200
@@ -12,7 +12,11 @@
     let mut css_parser = cssparser::Parser::new(&mut parser_input);
 
     let result = parser.parse(&mut css_parser, relative);
-    assert_eq!(result.ok().unwrap(), expected)
+    if result.is_err() {
+        assert_eq!("", result.err().unwrap().to_string());
+    } else {
+        assert_eq!(result.ok().unwrap(), expected)
+    }
 }
 
 fn check_selector_toplevel(input: &str, expected: Vec<Selector>) {
@@ -173,5 +177,34 @@
                 
SelectorPart::new_with_empty(SelectorKind::DescendantCombinator),
                 SelectorPart::new_with_empty(SelectorKind::RelativeParent),
             ])
-        ]
+        ];
+
+    part:
+        check_selector_toplevel "type::part(subelement)", vec![
+            Selector::from_parts(&[
+                SelectorPart::new_with_value(SelectorKind::Type, 
Value::from("type")),
+                SelectorPart::new_with_empty(SelectorKind::PartCombinator),
+                SelectorPart::new_with_value(SelectorKind::Part, 
Value::from("subelement")),
+            ])
+        ];
+
+    part_with_state:
+        check_selector_toplevel "type::part(subelement):hovered", vec![
+            Selector::from_parts(&[
+                SelectorPart::new_with_value(SelectorKind::Type, 
Value::from("type")),
+                SelectorPart::new_with_empty(SelectorKind::PartCombinator),
+                SelectorPart::new_with_value(SelectorKind::Part, 
Value::from("subelement")),
+                SelectorPart::new_with_value(SelectorKind::PseudoClass, 
Value::from("hovered")),
+            ])
+        ];
+
+    part_with_state_function:
+        check_selector_toplevel "type::part(subelement):state(some_state)", 
vec![
+            Selector::from_parts(&[
+                SelectorPart::new_with_value(SelectorKind::Type, 
Value::from("type")),
+                SelectorPart::new_with_empty(SelectorKind::PartCombinator),
+                SelectorPart::new_with_value(SelectorKind::Part, 
Value::from("subelement")),
+                SelectorPart::new_with_value(SelectorKind::PseudoClass, 
Value::from("some_state")),
+            ])
+        ];
 }


++++++ vendor.tar.zst ++++++
++++ 857549 lines of diff (skipped)

Reply via email to