rust-for-linux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Markus Probst <markus.probst@posteo.de>,
	Danilo Krummrich <dakr@kernel.org>,
	Miguel Ojeda <ojeda@kernel.org>,
	Alex Gaynor <alex.gaynor@gmail.com>, Lee Jones <lee@kernel.org>,
	Pavel Machek <pavel@kernel.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
	Vlastimil Babka <vbabka@suse.cz>,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Uladzislau Rezki <urezki@gmail.com>,
	Boqun Feng <boqun.feng@gmail.com>, Gary Guo <gary@garyguo.net>,
	bjorn3_gh@protonmail.com, Benno Lossin <lossin@kernel.org>,
	Andreas Hindborg <a.hindborg@kernel.org>,
	Alice Ryhl <aliceryhl@google.com>,
	Trevor Gross <tmgross@umich.edu>,
	Markus Probst <markus.probst@posteo.de>,
	rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-leds@vger.kernel.org
Subject: Re: [PATCH v3 2/2] rust: leds: add basic led classdev abstractions
Date: Sun, 12 Oct 2025 18:40:52 +0800	[thread overview]
Message-ID: <202510121801.TbAguq2S-lkp@intel.com> (raw)
In-Reply-To: <20251010225349.734350-3-markus.probst@posteo.de>

Hi Markus,

kernel test robot noticed the following build errors:

[auto build test ERROR on lee-leds/for-leds-next]
[also build test ERROR on v6.17]
[cannot apply to rust/rust-next rust/alloc-next linus/master next-20251010]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Markus-Probst/rust-add-basic-Pin-Vec-T-A-abstractions/20251011-065458
base:   https://git.kernel.org/pub/scm/linux/kernel/git/lee/leds.git for-leds-next
patch link:    https://lore.kernel.org/r/20251010225349.734350-3-markus.probst%40posteo.de
patch subject: [PATCH v3 2/2] rust: leds: add basic led classdev abstractions
config: x86_64-rhel-9.4-rust (https://download.01.org/0day-ci/archive/20251012/202510121801.TbAguq2S-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251012/202510121801.TbAguq2S-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202510121801.TbAguq2S-lkp@intel.com/

All errors (new ones prefixed by >>):

>> error[E0277]: the trait bound `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>: LedOps` is not satisfied
   --> rust/doctests_kernel_generated.rs:6097:6
   |
   6097 | /      KBox::pin_init(led::Device::new(
   6098 | |          None,
   6099 | |          None,
   6100 | |          led::InitData::new()
   6101 | |              .default_label(c_str!("my_led")),
   6102 | |          MyLedOps,
   6103 | |      ))
   | |_______^ the trait `LedOps` is not implemented for `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
   |
   = help: the trait `LedOps` is implemented for `MyLedOps`
   note: required by a bound in `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::Device`
   --> rust/kernel/led.rs:26:22
   |
   26   | pub struct Device<T: LedOps> {
   |                      ^^^^^^ required by this bound in `Device`
--
>> error[E0277]: `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>` cannot be shared between threads safely
   --> rust/doctests_kernel_generated.rs:6097:6
   |
   6097 | /      KBox::pin_init(led::Device::new(
   6098 | |          None,
   6099 | |          None,
   6100 | |          led::InitData::new()
   6101 | |              .default_label(c_str!("my_led")),
   6102 | |          MyLedOps,
   6103 | |      ))
   | |_______^ `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>` cannot be shared between threads safely
   |
   = help: within `FwNode`, the trait `Sync` is not implemented for `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>`
   note: required because it appears within the type `Opaque<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>`
   --> rust/kernel/types.rs:324:12
   |
   324  | pub struct Opaque<T> {
   |            ^^^^^^
   note: required because it appears within the type `FwNode`
   --> rust/kernel/device/property.rs:35:12
   |
   35   | pub struct FwNode(Opaque<bindings::fwnode_handle>);
   |            ^^^^^^
   = note: required for `&FwNode` to implement `Send`
   note: required because it appears within the type `Option<&FwNode>`
   --> /opt/cross/rustc-1.88.0-bindgen-0.72.0/rustup/toolchains/1.88.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:589:10
   |
   589  | pub enum Option<T> {
   |          ^^^^^^
   note: required because it appears within the type `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
   --> rust/kernel/led.rs:36:12
   |
   36   | pub struct InitData<'a> {
   |            ^^^^^^^^
   = note: required for `Device<InitData<'_>>` to implement `Send`
   note: required by a bound in `Devres`
   --> rust/kernel/devres.rs:108:22
   |
   108  | pub struct Devres<T: Send> {
   |                      ^^^^ required by this bound in `Devres`
   = note: the full name for the type has been written to 'rust/doctests_kernel_generated.long-type-938713932875159562.txt'
   = note: consider using `--verbose` to print the full type name to the console
--
>> error[E0107]: missing generics for struct `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::Device`
   --> rust/doctests_kernel_generated.rs:6096:47
   |
   6096 |  fn register_my_led() -> Result<Pin<KBox<led::Device>>> {
   |                                               ^^^^^^ expected 1 generic argument
   |
   note: struct defined here, with 1 generic parameter: `T`
   --> rust/kernel/led.rs:26:12
   |
   26   | pub struct Device<T: LedOps> {
   |            ^^^^^^ -
   help: add missing generic argument
   |
   6096 |  fn register_my_led() -> Result<Pin<KBox<led::Device<T>>>> {
   |                                                     +++
--
>> error[E0277]: the trait bound `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>: LedOps` is not satisfied
   --> rust/doctests_kernel_generated.rs:6100:10
   |
   6097 |        KBox::pin_init(led::Device::new(
   |                       ---------------- required by a bound introduced by this call
   ...
   6100 | /          led::InitData::new()
   6101 | |              .default_label(c_str!("my_led")),
   | |_____________________________________________^ the trait `LedOps` is not implemented for `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
   |
   = help: the trait `LedOps` is implemented for `MyLedOps`
   note: required by a bound in `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::Device::<T>::new`
   --> rust/kernel/led.rs:168:9
   |
   168  | impl<T: LedOps> Device<T> {
   |         ^^^^^^ required by this bound in `Device::<T>::new`
   ...
   172  |     pub fn new<'a>(
   |            --- required by a bound in this associated function
--
>> error[E0277]: the trait bound `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>: LedOps` is not satisfied
   --> rust/doctests_kernel_generated.rs:6097:21
   |
   6097 |        KBox::pin_init(led::Device::new(
   |  _____________________^
   6098 | |          None,
   6099 | |          None,
   6100 | |          led::InitData::new()
   6101 | |              .default_label(c_str!("my_led")),
   6102 | |          MyLedOps,
   6103 | |      ))
   | |______^ the trait `LedOps` is not implemented for `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
   |
   = help: the trait `LedOps` is implemented for `MyLedOps`
   note: required by a bound in `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::Device<T>`
   --> rust/kernel/led.rs:168:9
   |
   168  | impl<T: LedOps> Device<T> {
   |         ^^^^^^ required by this bound in `Device<T>`
--
>> error[E0277]: the trait bound `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>: LedOps` is not satisfied
   --> rust/doctests_kernel_generated.rs:6097:6
   |
   6097 |      KBox::pin_init(led::Device::new(
   |      ^^^^^^^^^^^^^^ the trait `LedOps` is not implemented for `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
   |
   = help: the trait `LedOps` is implemented for `MyLedOps`
   note: required by a bound in `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::Device`
   --> rust/kernel/led.rs:26:22
   |
   26   | pub struct Device<T: LedOps> {
   |                      ^^^^^^ required by this bound in `Device`
--
>> error[E0277]: `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>` cannot be shared between threads safely
   --> rust/doctests_kernel_generated.rs:6097:6
   |
   6097 |      KBox::pin_init(led::Device::new(
   |      ^^^^^^^^^^^^^^ `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>` cannot be shared between threads safely
   |
   = help: within `FwNode`, the trait `Sync` is not implemented for `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>`
   note: required because it appears within the type `Opaque<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>`
   --> rust/kernel/types.rs:324:12
   |
   324  | pub struct Opaque<T> {
   |            ^^^^^^
   note: required because it appears within the type `FwNode`
   --> rust/kernel/device/property.rs:35:12
   |
   35   | pub struct FwNode(Opaque<bindings::fwnode_handle>);
   |            ^^^^^^
   = note: required for `&FwNode` to implement `Send`
   note: required because it appears within the type `Option<&FwNode>`
   --> /opt/cross/rustc-1.88.0-bindgen-0.72.0/rustup/toolchains/1.88.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:589:10
   |
   589  | pub enum Option<T> {
   |          ^^^^^^
   note: required because it appears within the type `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
   --> rust/kernel/led.rs:36:12
   |
   36   | pub struct InitData<'a> {
   |            ^^^^^^^^
   = note: required for `Device<InitData<'_>>` to implement `Send`
   note: required by a bound in `Devres`
   --> rust/kernel/devres.rs:108:22
   |
   108  | pub struct Devres<T: Send> {
   |                      ^^^^ required by this bound in `Devres`
   = note: the full name for the type has been written to 'rust/doctests_kernel_generated.long-type-938713932875159562.txt'
   = note: consider using `--verbose` to print the full type name to the console
--
>> error[E0277]: the trait bound `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>: LedOps` is not satisfied
   --> rust/doctests_kernel_generated.rs:6097:6
   |
   6097 |      KBox::pin_init(led::Device::new(
   |      ^^^^ the trait `LedOps` is not implemented for `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
   |
   = help: the trait `LedOps` is implemented for `MyLedOps`
   note: required by a bound in `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::Device`
   --> rust/kernel/led.rs:26:22
   |
   26   | pub struct Device<T: LedOps> {
   |                      ^^^^^^ required by this bound in `Device`
--
>> error[E0277]: `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>` cannot be shared between threads safely
   --> rust/doctests_kernel_generated.rs:6097:6
   |
   6097 |      KBox::pin_init(led::Device::new(
   |      ^^^^ `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>` cannot be shared between threads safely
   |
   = help: within `FwNode`, the trait `Sync` is not implemented for `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>`
   note: required because it appears within the type `Opaque<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>`
   --> rust/kernel/types.rs:324:12
   |
   324  | pub struct Opaque<T> {
   |            ^^^^^^
   note: required because it appears within the type `FwNode`
   --> rust/kernel/device/property.rs:35:12
   |
   35   | pub struct FwNode(Opaque<bindings::fwnode_handle>);
   |            ^^^^^^
   = note: required for `&FwNode` to implement `Send`
   note: required because it appears within the type `Option<&FwNode>`
   --> /opt/cross/rustc-1.88.0-bindgen-0.72.0/rustup/toolchains/1.88.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:589:10
   |
   589  | pub enum Option<T> {
   |          ^^^^^^
   note: required because it appears within the type `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
   --> rust/kernel/led.rs:36:12
   |
   36   | pub struct InitData<'a> {
   |            ^^^^^^^^
   = note: required for `Device<InitData<'_>>` to implement `Send`
   note: required by a bound in `Devres`
   --> rust/kernel/devres.rs:108:22
   |
   108  | pub struct Devres<T: Send> {
   |                      ^^^^ required by this bound in `Devres`
   = note: the full name for the type has been written to 'rust/doctests_kernel_generated.long-type-938713932875159562.txt'
   = note: consider using `--verbose` to print the full type name to the console

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

      reply	other threads:[~2025-10-12 10:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-10 22:53 [PATCH v3 0/2] rust: leds: add led classdev abstractions Markus Probst
2025-10-10 22:53 ` [PATCH v3 1/2] rust: add basic Pin<Vec<T, A>> abstractions Markus Probst
2025-10-10 22:53 ` [PATCH v3 2/2] rust: leds: add basic led classdev abstractions Markus Probst
2025-10-12 10:40   ` kernel test robot [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202510121801.TbAguq2S-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=a.hindborg@kernel.org \
    --cc=alex.gaynor@gmail.com \
    --cc=aliceryhl@google.com \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=dakr@kernel.org \
    --cc=gary@garyguo.net \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=lossin@kernel.org \
    --cc=markus.probst@posteo.de \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=ojeda@kernel.org \
    --cc=pavel@kernel.org \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=tmgross@umich.edu \
    --cc=urezki@gmail.com \
    --cc=vbabka@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).