public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
* [boqun:rust-sync.20260105a 18/22] error[E0277]: the trait bound `i8: AtomicImpl` is not satisfied
@ 2026-01-05 16:25 kernel test robot
  2026-01-06  0:49 ` Boqun Feng
  0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2026-01-05 16:25 UTC (permalink / raw)
  To: FUJITA Tomonori; +Cc: llvm, oe-kbuild-all, Boqun Feng

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux.git rust-sync.20260105a
head:   243aa6a057d46d3a4de9297422e480d469eddaf7
commit: 06ed7e7e7aa656f7054af7d3d3387a07244d85b1 [18/22] rust: sync: atomic: Add i8/i16 xchg and cmpxchg support
config: um-randconfig-001-20260105 (https://download.01.org/0day-ci/archive/20260106/202601060041.k0JkAkUD-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 9b8addffa70cee5b2acc5454712d9cf78ce45710)
rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260106/202601060041.k0JkAkUD-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/202601060041.k0JkAkUD-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from kernel/sched/rq-offsets.c:5:
   In file included from kernel/sched/sched.h:28:
   In file included from include/linux/cgroup_api.h:1:
   In file included from include/linux/cgroup.h:27:
   In file included from include/linux/kernel_stat.h:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:11:
   In file included from arch/um/include/asm/hardirq.h:24:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:12:
   In file included from arch/um/include/asm/io.h:24:
   include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
   1209 |         return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
   |                                                   ~~~~~~~~~~ ^
   1 warning generated.
   llvm-nm: error: rust/helpers/helpers.o: No such file or directory
   clang diag: include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
   clang diag: include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
   clang diag: include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
>> error[E0277]: the trait bound `i8: AtomicImpl` is not satisfied
   --> rust/kernel/sync/atomic/internal.rs:265:7
   |
   265 |     [ i8 => atomic_i8, i16 => atomic_i16, i32 => atomic, i64 => atomic64 ]
   |       ^^ the trait `AtomicImpl` is not implemented for `i8`
   |
   = help: the following other types implement trait `AtomicImpl`:
   i32
   i64
   note: required by a bound in `AtomicBasicOps`
   --> rust/kernel/sync/atomic/internal.rs:190:26
   |
   190 |           $pub trait $ops: AtomicImpl {
   |                            ^^^^^^^^^^ required by this bound in `AtomicBasicOps`
   ...
   264 | / declare_and_impl_atomic_methods!(
   265 | |     [ i8 => atomic_i8, i16 => atomic_i16, i32 => atomic, i64 => atomic64 ]
   266 | |     /// Basic atomic operations
   267 | |     pub trait AtomicBasicOps {
   | |               -------------- required by a bound in this trait
   ...   |
   280 | | );
   | |_- in this macro invocation
   = note: this error originates in the macro `declare_atomic_ops_trait` which comes from the expansion of the macro `declare_and_impl_atomic_methods` (in Nightly builds, run with -Z macro-backtrace for more info)
--
>> error[E0277]: the trait bound `i16: AtomicImpl` is not satisfied
   --> rust/kernel/sync/atomic/internal.rs:265:24
   |
   265 |     [ i8 => atomic_i8, i16 => atomic_i16, i32 => atomic, i64 => atomic64 ]
   |                        ^^^ the trait `AtomicImpl` is not implemented for `i16`
   |
   = help: the following other types implement trait `AtomicImpl`:
   i32
   i64
   note: required by a bound in `AtomicBasicOps`
   --> rust/kernel/sync/atomic/internal.rs:190:26
   |
   190 |           $pub trait $ops: AtomicImpl {
   |                            ^^^^^^^^^^ required by this bound in `AtomicBasicOps`
   ...
   264 | / declare_and_impl_atomic_methods!(
   265 | |     [ i8 => atomic_i8, i16 => atomic_i16, i32 => atomic, i64 => atomic64 ]
   266 | |     /// Basic atomic operations
   267 | |     pub trait AtomicBasicOps {
   | |               -------------- required by a bound in this trait
   ...   |
   280 | | );
   | |_- in this macro invocation
   = note: this error originates in the macro `declare_atomic_ops_trait` which comes from the expansion of the macro `declare_and_impl_atomic_methods` (in Nightly builds, run with -Z macro-backtrace for more info)
--
>> error[E0277]: the trait bound `i16: AtomicImpl` is not satisfied
   --> rust/kernel/sync/atomic/internal.rs:289:48
   |
   289 |         fn xchg[acquire, release, relaxed](a: &AtomicRepr<Self>, v: Self) -> Self {
   |                                                ^^^^^^^^^^^^^^^^ the trait `AtomicImpl` is not implemented for `i16`
   |
   = help: the following other types implement trait `AtomicImpl`:
   i32
   i64
   note: required by a bound in `AtomicRepr`
   --> rust/kernel/sync/atomic/internal.rs:66:26
   |
   66  | pub struct AtomicRepr<T: AtomicImpl>(UnsafeCell<T>);
   |                          ^^^^^^^^^^ required by this bound in `AtomicRepr`
--
>> error[E0277]: the trait bound `i16: AtomicImpl` is not satisfied
   --> rust/kernel/sync/atomic/internal.rs:301:17
   |
   301 |             a: &AtomicRepr<Self>, old: &mut Self, new: Self
   |                 ^^^^^^^^^^^^^^^^ the trait `AtomicImpl` is not implemented for `i16`
   |
   = help: the following other types implement trait `AtomicImpl`:
   i32
   i64
   note: required by a bound in `AtomicRepr`
   --> rust/kernel/sync/atomic/internal.rs:66:26
   |
   66  | pub struct AtomicRepr<T: AtomicImpl>(UnsafeCell<T>);
   |                          ^^^^^^^^^^ required by this bound in `AtomicRepr`
--
>> error[E0277]: the trait bound `i8: AtomicImpl` is not satisfied
   --> rust/kernel/sync/atomic/predefine.rs:11:17
   |
   11  |     type Repr = i8;
   |                 ^^ the trait `AtomicImpl` is not implemented for `i8`
   |
   = help: the following other types implement trait `AtomicImpl`:
   i32
   i64
   note: required by a bound in `AtomicType::Repr`
   --> rust/kernel/sync/atomic.rs:113:16
   |
   113 |     type Repr: AtomicImpl;
   |                ^^^^^^^^^^ required by this bound in `AtomicType::Repr`
--
>> error[E0277]: the trait bound `i16: AtomicImpl` is not satisfied
   --> rust/kernel/sync/atomic/predefine.rs:17:17
   |
   17  |     type Repr = i16;
   |                 ^^^ the trait `AtomicImpl` is not implemented for `i16`
   |
   = help: the following other types implement trait `AtomicImpl`:
   i32
   i64
   note: required by a bound in `AtomicType::Repr`
   --> rust/kernel/sync/atomic.rs:113:16
   |
   113 |     type Repr: AtomicImpl;
   |                ^^^^^^^^^^ required by this bound in `AtomicType::Repr`
--
>> error[E0599]: the method `as_ptr` exists for reference `&AtomicRepr<i8>`, but its trait bounds were not satisfied
   --> rust/kernel/sync/atomic/internal.rs:271:40
   |
   271 |             unsafe { bindings::#call(a.as_ptr().cast()) }
   |                                        ^^^^^^ method cannot be called on `&AtomicRepr<i8>` due to unsatisfied trait bounds
   |
   note: trait bound `i8: AtomicImpl` was not satisfied
   --> rust/kernel/sync/atomic/internal.rs:68:9
   |
   68  | impl<T: AtomicImpl> AtomicRepr<T> {
   |         ^^^^^^^^^^  -------------
   |         |
   |         unsatisfied trait bound introduced here
   = help: items from traits can only be used if the trait is implemented and in scope
   note: `device_id::IdTable` defines an item `as_ptr`, perhaps you need to implement it
   --> rust/kernel/device_id.rs:165:1
   |
   165 | pub trait IdTable<T: RawDeviceId, U> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--
>> error[E0599]: the method `as_ptr` exists for reference `&AtomicRepr<i8>`, but its trait bounds were not satisfied
   --> rust/kernel/sync/atomic/internal.rs:277:40
   |
   277 |             unsafe { bindings::#call(a.as_ptr().cast(), v) }
   |                                        ^^^^^^ method cannot be called on `&AtomicRepr<i8>` due to unsatisfied trait bounds
   |
   note: trait bound `i8: AtomicImpl` was not satisfied
   --> rust/kernel/sync/atomic/internal.rs:68:9
   |
   68  | impl<T: AtomicImpl> AtomicRepr<T> {
   |         ^^^^^^^^^^  -------------
   |         |
   |         unsatisfied trait bound introduced here
   = help: items from traits can only be used if the trait is implemented and in scope
   note: `device_id::IdTable` defines an item `as_ptr`, perhaps you need to implement it
   --> rust/kernel/device_id.rs:165:1
   |
   165 | pub trait IdTable<T: RawDeviceId, U> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--
>> error[E0599]: the method `as_ptr` exists for reference `&AtomicRepr<i16>`, but its trait bounds were not satisfied
   --> rust/kernel/sync/atomic/internal.rs:271:40
   |
   271 |             unsafe { bindings::#call(a.as_ptr().cast()) }
   |                                        ^^^^^^ method cannot be called on `&AtomicRepr<i16>` due to unsatisfied trait bounds
   |
   note: trait bound `i16: AtomicImpl` was not satisfied
   --> rust/kernel/sync/atomic/internal.rs:68:9
   |
   68  | impl<T: AtomicImpl> AtomicRepr<T> {
   |         ^^^^^^^^^^  -------------
   |         |
   |         unsatisfied trait bound introduced here
   = help: items from traits can only be used if the trait is implemented and in scope
   note: `device_id::IdTable` defines an item `as_ptr`, perhaps you need to implement it
   --> rust/kernel/device_id.rs:165:1
   |
   165 | pub trait IdTable<T: RawDeviceId, U> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--
>> error[E0599]: the method `as_ptr` exists for reference `&AtomicRepr<i16>`, but its trait bounds were not satisfied
   --> rust/kernel/sync/atomic/internal.rs:277:40
   |
   277 |             unsafe { bindings::#call(a.as_ptr().cast(), v) }
   |                                        ^^^^^^ method cannot be called on `&AtomicRepr<i16>` due to unsatisfied trait bounds
   |
   note: trait bound `i16: AtomicImpl` was not satisfied
   --> rust/kernel/sync/atomic/internal.rs:68:9
   |
   68  | impl<T: AtomicImpl> AtomicRepr<T> {
   |         ^^^^^^^^^^  -------------
   |         |
   |         unsatisfied trait bound introduced here
   = help: items from traits can only be used if the trait is implemented and in scope
   note: `device_id::IdTable` defines an item `as_ptr`, perhaps you need to implement it
   --> rust/kernel/device_id.rs:165:1
   |
   165 | pub trait IdTable<T: RawDeviceId, U> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
--
>> error[E0599]: the method `as_ptr` exists for reference `&AtomicRepr<i8>`, but its trait bounds were not satisfied
   --> rust/kernel/sync/atomic/internal.rs:291:40
   |
   291 |             unsafe { bindings::#call(a.as_ptr().cast(), v) }
   |                                        ^^^^^^ method cannot be called on `&AtomicRepr<i8>` due to unsatisfied trait bounds
   |
   note: trait bound `i8: AtomicImpl` was not satisfied
   --> rust/kernel/sync/atomic/internal.rs:68:9
   |
   68  | impl<T: AtomicImpl> AtomicRepr<T> {
   |         ^^^^^^^^^^  -------------
   |         |
   |         unsatisfied trait bound introduced here
   = help: items from traits can only be used if the trait is implemented and in scope
   note: `device_id::IdTable` defines an item `as_ptr`, perhaps you need to implement it
   --> rust/kernel/device_id.rs:165:1
   |
   165 | pub trait IdTable<T: RawDeviceId, U> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
..

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-01-06  2:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-05 16:25 [boqun:rust-sync.20260105a 18/22] error[E0277]: the trait bound `i8: AtomicImpl` is not satisfied kernel test robot
2026-01-06  0:49 ` Boqun Feng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox