Skip to content

Compilation errors #2983

Open
Open
@UWN

Description

@UWN
ulrich@gupu:/opt/gupu/rebis-dev$ rustup update stable
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'

  stable-x86_64-unknown-linux-gnu unchanged - rustc 1.87.0 (17067e9ac 2025-05-09)

info: checking for self-update
ulrich@gupu:/opt/gupu/rebis-dev$ cargo build --release
   Compiling scryer-prolog v0.9.4 (/opt/gupu/rebis-dev)
error[E0277]: `*const u8` cannot be shared between threads safely
  --> src/offset_table.rs:75:35
   |
75 |         static GLOBAL_ATOM_TABLE: RwLock<Weak<F64Table>> = RwLock::new(Weak::new());
   |                                   ^^^^^^^^^^^^^^^^^^^^^^ `*const u8` cannot be shared between threads safely
   |
   = help: within `raw_block::RawBlock<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>`, the trait `Sync` is not implemented for `*const u8`
note: required because it appears within the type `raw_block::RawBlock<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>`
  --> src/raw_block.rs:13:12
   |
13 | pub struct RawBlock<T: RawBlockTraits> {
   |            ^^^^^^^^
   = note: required for `Arc<raw_block::RawBlock<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>>` to implement `Sync`
note: required because it appears within the type `PhantomData<Arc<RawBlock<OffsetTableImpl<OrderedFloat<f64>>>>>`
  --> /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/marker.rs:777:12
note: required because it appears within the type `Arcu<RawBlock<OffsetTableImpl<OrderedFloat<f64>>>, ...>`
  --> /home/ulrich/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arcu-0.1.2/src/atomic.rs:20:12
   |
20 | pub struct Arcu<T, P> {
   |            ^^^^
note: required because it appears within the type `OffsetTableImpl<ordered_float::OrderedFloat<f64>>`
  --> src/offset_table.rs:27:12
   |
27 | pub struct OffsetTableImpl<T>
   |            ^^^^^^^^^^^^^^^
   = note: required for `std::sync::Weak<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>` to implement `std::marker::Send`
   = note: 1 redundant requirement hidden
   = note: required for `RwLock<Weak<OffsetTableImpl<OrderedFloat<f64>>>>` to implement `Sync`
   = note: shared static variables must have a type that implements `Sync`
   = note: the full name for the type has been written to '/opt/gupu/rebis-dev/target/release/deps/scryer_prolog.long-type-3047202398055114567.txt'
   = note: consider using `--verbose` to print the full type name to the console

error[E0277]: `UnsafeCell<*mut u8>` cannot be shared between threads safely
  --> src/offset_table.rs:75:35
   |
75 |         static GLOBAL_ATOM_TABLE: RwLock<Weak<F64Table>> = RwLock::new(Weak::new());
   |                                   ^^^^^^^^^^^^^^^^^^^^^^ `UnsafeCell<*mut u8>` cannot be shared between threads safely
   |
   = help: within `raw_block::RawBlock<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>`, the trait `Sync` is not implemented for `UnsafeCell<*mut u8>`
note: required because it appears within the type `raw_block::RawBlock<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>`
  --> src/raw_block.rs:13:12
   |
13 | pub struct RawBlock<T: RawBlockTraits> {
   |            ^^^^^^^^
   = note: required for `Arc<raw_block::RawBlock<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>>` to implement `Sync`
note: required because it appears within the type `PhantomData<Arc<RawBlock<OffsetTableImpl<OrderedFloat<f64>>>>>`
  --> /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/marker.rs:777:12
note: required because it appears within the type `Arcu<RawBlock<OffsetTableImpl<OrderedFloat<f64>>>, ...>`
  --> /home/ulrich/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arcu-0.1.2/src/atomic.rs:20:12
   |
20 | pub struct Arcu<T, P> {
   |            ^^^^
note: required because it appears within the type `OffsetTableImpl<ordered_float::OrderedFloat<f64>>`
  --> src/offset_table.rs:27:12
   |
27 | pub struct OffsetTableImpl<T>
   |            ^^^^^^^^^^^^^^^
   = note: required for `std::sync::Weak<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>` to implement `std::marker::Send`
   = note: 1 redundant requirement hidden
   = note: required for `RwLock<Weak<OffsetTableImpl<OrderedFloat<f64>>>>` to implement `Sync`
   = note: shared static variables must have a type that implements `Sync`
   = note: the full name for the type has been written to '/opt/gupu/rebis-dev/target/release/deps/scryer_prolog.long-type-3047202398055114567.txt'
   = note: consider using `--verbose` to print the full type name to the console

error[E0277]: `*const u8` cannot be sent between threads safely
  --> src/offset_table.rs:75:35
   |
75 |         static GLOBAL_ATOM_TABLE: RwLock<Weak<F64Table>> = RwLock::new(Weak::new());
   |                                   ^^^^^^^^^^^^^^^^^^^^^^ `*const u8` cannot be sent between threads safely
   |
   = help: within `raw_block::RawBlock<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>`, the trait `std::marker::Send` is not implemented for `*const u8`
note: required because it appears within the type `raw_block::RawBlock<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>`
  --> src/raw_block.rs:13:12
   |
13 | pub struct RawBlock<T: RawBlockTraits> {
   |            ^^^^^^^^
   = note: required for `Arc<raw_block::RawBlock<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>>` to implement `Sync`
note: required because it appears within the type `PhantomData<Arc<RawBlock<OffsetTableImpl<OrderedFloat<f64>>>>>`
  --> /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/marker.rs:777:12
note: required because it appears within the type `Arcu<RawBlock<OffsetTableImpl<OrderedFloat<f64>>>, ...>`
  --> /home/ulrich/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arcu-0.1.2/src/atomic.rs:20:12
   |
20 | pub struct Arcu<T, P> {
   |            ^^^^
note: required because it appears within the type `OffsetTableImpl<ordered_float::OrderedFloat<f64>>`
  --> src/offset_table.rs:27:12
   |
27 | pub struct OffsetTableImpl<T>
   |            ^^^^^^^^^^^^^^^
   = note: required for `std::sync::Weak<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>` to implement `std::marker::Send`
   = note: 1 redundant requirement hidden
   = note: required for `RwLock<Weak<OffsetTableImpl<OrderedFloat<f64>>>>` to implement `Sync`
   = note: shared static variables must have a type that implements `Sync`
   = note: the full name for the type has been written to '/opt/gupu/rebis-dev/target/release/deps/scryer_prolog.long-type-3047202398055114567.txt'
   = note: consider using `--verbose` to print the full type name to the console

error[E0277]: `*mut u8` cannot be sent between threads safely
  --> src/offset_table.rs:75:35
   |
75 |         static GLOBAL_ATOM_TABLE: RwLock<Weak<F64Table>> = RwLock::new(Weak::new());
   |                                   ^^^^^^^^^^^^^^^^^^^^^^ `*mut u8` cannot be sent between threads safely
   |
   = help: within `raw_block::RawBlock<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>`, the trait `std::marker::Send` is not implemented for `*mut u8`
note: required because it appears within the type `UnsafeCell<*mut u8>`
  --> /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/cell.rs:2075:12
note: required because it appears within the type `raw_block::RawBlock<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>`
  --> src/raw_block.rs:13:12
   |
13 | pub struct RawBlock<T: RawBlockTraits> {
   |            ^^^^^^^^
   = note: required for `Arc<raw_block::RawBlock<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>>` to implement `Sync`
note: required because it appears within the type `PhantomData<Arc<RawBlock<OffsetTableImpl<OrderedFloat<f64>>>>>`
  --> /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/marker.rs:777:12
note: required because it appears within the type `Arcu<RawBlock<OffsetTableImpl<OrderedFloat<f64>>>, ...>`
  --> /home/ulrich/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arcu-0.1.2/src/atomic.rs:20:12
   |
20 | pub struct Arcu<T, P> {
   |            ^^^^
note: required because it appears within the type `OffsetTableImpl<ordered_float::OrderedFloat<f64>>`
  --> src/offset_table.rs:27:12
   |
27 | pub struct OffsetTableImpl<T>
   |            ^^^^^^^^^^^^^^^
   = note: required for `std::sync::Weak<OffsetTableImpl<ordered_float::OrderedFloat<f64>>>` to implement `std::marker::Send`
   = note: 1 redundant requirement hidden
   = note: required for `RwLock<Weak<OffsetTableImpl<OrderedFloat<f64>>>>` to implement `Sync`
   = note: shared static variables must have a type that implements `Sync`
   = note: the full name for the type has been written to '/opt/gupu/rebis-dev/target/release/deps/scryer_prolog.long-type-3047202398055114567.txt'
   = note: consider using `--verbose` to print the full type name to the console

error[E0277]: `*const u8` cannot be shared between threads safely
  --> src/offset_table.rs:86:41
   |
86 |         static GLOBAL_CODE_INDEX_TABLE: RwLock<Weak<CodeIndexTable>> = RwLock::new(Weak::new());
   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `*const u8` cannot be shared between threads safely
   |
   = help: within `raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>`, the trait `Sync` is not implemented for `*const u8`
note: required because it appears within the type `raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>`
  --> src/raw_block.rs:13:12
   |
13 | pub struct RawBlock<T: RawBlockTraits> {
   |            ^^^^^^^^
   = note: required for `Arc<raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>>` to implement `Sync`
note: required because it appears within the type `PhantomData<Arc<raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>>>`
  --> /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/marker.rs:777:12
note: required because it appears within the type `Arcu<RawBlock<OffsetTableImpl<IndexPtr>>, ...>`
  --> /home/ulrich/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arcu-0.1.2/src/atomic.rs:20:12
   |
20 | pub struct Arcu<T, P> {
   |            ^^^^
note: required because it appears within the type `OffsetTableImpl<machine_indices::IndexPtr>`
  --> src/offset_table.rs:27:12
   |
27 | pub struct OffsetTableImpl<T>
   |            ^^^^^^^^^^^^^^^
   = note: required for `std::sync::Weak<OffsetTableImpl<machine_indices::IndexPtr>>` to implement `std::marker::Send`
   = note: 1 redundant requirement hidden
   = note: required for `std::sync::RwLock<std::sync::Weak<OffsetTableImpl<machine_indices::IndexPtr>>>` to implement `Sync`
   = note: shared static variables must have a type that implements `Sync`
   = note: the full name for the type has been written to '/opt/gupu/rebis-dev/target/release/deps/scryer_prolog.long-type-18127578775155434331.txt'
   = note: consider using `--verbose` to print the full type name to the console

error[E0277]: `UnsafeCell<*mut u8>` cannot be shared between threads safely
  --> src/offset_table.rs:86:41
   |
86 |         static GLOBAL_CODE_INDEX_TABLE: RwLock<Weak<CodeIndexTable>> = RwLock::new(Weak::new());
   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `UnsafeCell<*mut u8>` cannot be shared between threads safely
   |
   = help: within `raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>`, the trait `Sync` is not implemented for `UnsafeCell<*mut u8>`
note: required because it appears within the type `raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>`
  --> src/raw_block.rs:13:12
   |
13 | pub struct RawBlock<T: RawBlockTraits> {
   |            ^^^^^^^^
   = note: required for `Arc<raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>>` to implement `Sync`
note: required because it appears within the type `PhantomData<Arc<raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>>>`
  --> /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/marker.rs:777:12
note: required because it appears within the type `Arcu<RawBlock<OffsetTableImpl<IndexPtr>>, ...>`
  --> /home/ulrich/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arcu-0.1.2/src/atomic.rs:20:12
   |
20 | pub struct Arcu<T, P> {
   |            ^^^^
note: required because it appears within the type `OffsetTableImpl<machine_indices::IndexPtr>`
  --> src/offset_table.rs:27:12
   |
27 | pub struct OffsetTableImpl<T>
   |            ^^^^^^^^^^^^^^^
   = note: required for `std::sync::Weak<OffsetTableImpl<machine_indices::IndexPtr>>` to implement `std::marker::Send`
   = note: 1 redundant requirement hidden
   = note: required for `std::sync::RwLock<std::sync::Weak<OffsetTableImpl<machine_indices::IndexPtr>>>` to implement `Sync`
   = note: shared static variables must have a type that implements `Sync`
   = note: the full name for the type has been written to '/opt/gupu/rebis-dev/target/release/deps/scryer_prolog.long-type-18127578775155434331.txt'
   = note: consider using `--verbose` to print the full type name to the console

error[E0277]: `*const u8` cannot be sent between threads safely
  --> src/offset_table.rs:86:41
   |
86 |         static GLOBAL_CODE_INDEX_TABLE: RwLock<Weak<CodeIndexTable>> = RwLock::new(Weak::new());
   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `*const u8` cannot be sent between threads safely
   |
   = help: within `raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>`, the trait `std::marker::Send` is not implemented for `*const u8`
note: required because it appears within the type `raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>`
  --> src/raw_block.rs:13:12
   |
13 | pub struct RawBlock<T: RawBlockTraits> {
   |            ^^^^^^^^
   = note: required for `Arc<raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>>` to implement `Sync`
note: required because it appears within the type `PhantomData<Arc<raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>>>`
  --> /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/marker.rs:777:12
note: required because it appears within the type `Arcu<RawBlock<OffsetTableImpl<IndexPtr>>, ...>`
  --> /home/ulrich/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arcu-0.1.2/src/atomic.rs:20:12
   |
20 | pub struct Arcu<T, P> {
   |            ^^^^
note: required because it appears within the type `OffsetTableImpl<machine_indices::IndexPtr>`
  --> src/offset_table.rs:27:12
   |
27 | pub struct OffsetTableImpl<T>
   |            ^^^^^^^^^^^^^^^
   = note: required for `std::sync::Weak<OffsetTableImpl<machine_indices::IndexPtr>>` to implement `std::marker::Send`
   = note: 1 redundant requirement hidden
   = note: required for `std::sync::RwLock<std::sync::Weak<OffsetTableImpl<machine_indices::IndexPtr>>>` to implement `Sync`
   = note: shared static variables must have a type that implements `Sync`
   = note: the full name for the type has been written to '/opt/gupu/rebis-dev/target/release/deps/scryer_prolog.long-type-18127578775155434331.txt'
   = note: consider using `--verbose` to print the full type name to the console

error[E0277]: `*mut u8` cannot be sent between threads safely
  --> src/offset_table.rs:86:41
   |
86 |         static GLOBAL_CODE_INDEX_TABLE: RwLock<Weak<CodeIndexTable>> = RwLock::new(Weak::new());
   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `*mut u8` cannot be sent between threads safely
   |
   = help: within `raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>`, the trait `std::marker::Send` is not implemented for `*mut u8`
note: required because it appears within the type `UnsafeCell<*mut u8>`
  --> /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/cell.rs:2075:12
note: required because it appears within the type `raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>`
  --> src/raw_block.rs:13:12
   |
13 | pub struct RawBlock<T: RawBlockTraits> {
   |            ^^^^^^^^
   = note: required for `Arc<raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>>` to implement `Sync`
note: required because it appears within the type `PhantomData<Arc<raw_block::RawBlock<OffsetTableImpl<machine_indices::IndexPtr>>>>`
  --> /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/marker.rs:777:12
note: required because it appears within the type `Arcu<RawBlock<OffsetTableImpl<IndexPtr>>, ...>`
  --> /home/ulrich/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arcu-0.1.2/src/atomic.rs:20:12
   |
20 | pub struct Arcu<T, P> {
   |            ^^^^
note: required because it appears within the type `OffsetTableImpl<machine_indices::IndexPtr>`
  --> src/offset_table.rs:27:12
   |
27 | pub struct OffsetTableImpl<T>
   |            ^^^^^^^^^^^^^^^
   = note: required for `std::sync::Weak<OffsetTableImpl<machine_indices::IndexPtr>>` to implement `std::marker::Send`
   = note: 1 redundant requirement hidden
   = note: required for `std::sync::RwLock<std::sync::Weak<OffsetTableImpl<machine_indices::IndexPtr>>>` to implement `Sync`
   = note: shared static variables must have a type that implements `Sync`
   = note: the full name for the type has been written to '/opt/gupu/rebis-dev/target/release/deps/scryer_prolog.long-type-18127578775155434331.txt'
   = note: consider using `--verbose` to print the full type name to the console

For more information about this error, try `rustc --explain E0277`.
error: could not compile `scryer-prolog` (lib) due to 8 previous errors
ulrich@gupu:/opt/gupu/rebis-dev$
ulrich@gupu:/opt/gupu/rebis-dev$ git status
On branch rebis-dev
Your branch is up to date with 'origin/rebis-dev'.

nothing to commit, working tree clean
ulrich@gupu:/opt/gupu/rebis-dev$ git describe
v0.9.4-457-g12d8eb10

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions