Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 May 2023 03:18:18 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 271358] Mk/Uses/cargo.mk: [workspace.dependencies] breaks CARGO_INSTALL_PATH
Message-ID:  <bug-271358-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D271358

            Bug ID: 271358
           Summary: Mk/Uses/cargo.mk: [workspace.dependencies] breaks
                    CARGO_INSTALL_PATH
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Keywords: needs-patch
          Severity: Affects Only Me
          Priority: ---
         Component: Ports Framework
          Assignee: rust@FreeBSD.org
          Reporter: jbeich@FreeBSD.org
                CC: ports-bugs@FreeBSD.org

Cargo workspaces don't yet support top-level "cargo install" but with
[workspace.dependencies] creates a feature desync between top-level and sub=
dir
build. Unfortunately, cargo (unlike cargo-c) doesn't support --package in
"install" subcommand in order to avoid unnecessary rebuild.

$ cd games/veloren-weekly
$ sed -i '' '/do-install:/,/^$/d' Makefile
$ make restage
[...]
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<phase=
: stage          >=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
[...]
error[E0277]: the trait bound `F: FloatCore` is not satisfied
    --> world/src/sim/erosion.rs:2058:29
     |
2058 |                 NotNan::new(pass).unwrap(),
     |                 ----------- ^^^^ the trait `FloatCore` is not
implemented for `F`
     |                 |
     |                 required by a bound introduced by this call
     |
note: required by a bound in `NotNan::<T>::new`
    --> cargo-crates/ordered-float-3.7.0/src/lib.rs:943:9
     |
943  | impl<T: Float> NotNan<T> {
     |         ^^^^^ required by this bound in `NotNan::<T>::new`
help: consider further restricting this bound
     |
1822 | pub fn get_lakes<F: Float + vek::num_traits::float::FloatCore>(
     |                           +++++++++++++++++++++++++++++++++++

error[E0277]: the trait bound `F: FloatCore` is not satisfied
    --> world/src/sim/erosion.rs:2057:24
     |
2057 |             candidates.push(Reverse((
     |                        ^^^^ the trait `FloatCore` is not implemented=
 for
`F`
     |
     =3D note: required for `NotNan<F>` to implement `Ord`
     =3D note: 2 redundant requirements hidden
     =3D note: required for `std::cmp::Reverse<(NotNan<F>, (u32, u32))>` to
implement `Ord`
note: required by a bound in `BinaryHeap::<T>::push`
    --> rustc-1.69.0-src/library/alloc/src/collections/binary_heap/mod.rs:5=
41:5
help: consider further restricting this bound
     |
1822 | pub fn get_lakes<F: Float + vek::num_traits::float::FloatCore>(
     |                           +++++++++++++++++++++++++++++++++++

error[E0277]: the trait bound `F: FloatCore` is not satisfied
    --> world/src/sim/erosion.rs:2019:26
     |
2019 |     let mut candidates =3D BinaryHeap::with_capacity(indirection.len=
());
     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FloatC=
ore`
is not implemented for `F`
     |
     =3D note: required for `NotNan<F>` to implement `Ord`
     =3D note: 2 redundant requirements hidden
     =3D note: required for `std::cmp::Reverse<(NotNan<F>, (u32, u32))>` to
implement `Ord`
note: required by a bound in `BinaryHeap::<T>::with_capacity`
    --> rustc-1.69.0-src/library/alloc/src/collections/binary_heap/mod.rs:4=
38:5
help: consider further restricting this bound
     |
1822 | pub fn get_lakes<F: Float + vek::num_traits::float::FloatCore>(
     |                           +++++++++++++++++++++++++++++++++++

error[E0599]: the method `pop` exists for struct
`BinaryHeap<Reverse<(NotNan<F>, (u32, u32))>>`, but its trait bounds were n=
ot
satisfied
    --> world/src/sim/erosion.rs:2073:74
     |
2073 |     while let Some(Reverse((_, (chunk_idx, neighbor_idx)))) =3D
candidates.pop() {
     |=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
^^^ method cannot be called on `BinaryHeap<Reverse<(NotNan<F>, (u32, u32))>=
>`
due to unsatisfied trait bounds
    --> rustc-1.69.0-src/library/core/src/cmp.rs:603:1
     |
     =3D note: doesn't satisfy `_: Eq`
     |
     =3D note: doesn't satisfy `std::cmp::Reverse<(NotNan<F>, (u32, u32))>:=
 Ord`
     |
     =3D note: the following trait bounds were not satisfied:
             `std::cmp::Reverse<(NotNan<F>, (u32, u32))>: Ord`
             `std::cmp::Reverse<(NotNan<F>, (u32, u32))>: std::cmp::Eq`
             which is required by `std::cmp::Reverse<(NotNan<F>, (u32, u32)=
)>:
Ord`

error[E0599]: the method `push` exists for struct
`BinaryHeap<Reverse<(NotNan<F>, (u32, u32))>>`, but its trait bounds were n=
ot
satisfied
    --> world/src/sim/erosion.rs:2129:24
     |
2129 |             candidates.push(Reverse((
     |             -----------^^^^ method cannot be called on
`BinaryHeap<Reverse<(NotNan<F>, (u32, u32))>>` due to unsatisfied trait bou=
nds
    --> rustc-1.69.0-src/library/core/src/cmp.rs:603:1
     |
     =3D note: doesn't satisfy `_: Eq`
     |
     =3D note: doesn't satisfy `std::cmp::Reverse<(NotNan<F>, (u32, u32))>:=
 Ord`
     |
     =3D note: the following trait bounds were not satisfied:
             `std::cmp::Reverse<(NotNan<F>, (u32, u32))>: Ord`
             `std::cmp::Reverse<(NotNan<F>, (u32, u32))>: std::cmp::Eq`
             which is required by `std::cmp::Reverse<(NotNan<F>, (u32, u32)=
)>:
Ord`

error[E0277]: the trait bound `F: FloatCore` is not satisfied
    --> world/src/sim/erosion.rs:2130:29
     |
2130 |                 NotNan::new(pass).unwrap(),
     |                 ----------- ^^^^ the trait `FloatCore` is not
implemented for `F`
     |                 |
     |                 required by a bound introduced by this call
     |
note: required by a bound in `NotNan::<T>::new`
    --> cargo-crates/ordered-float-3.7.0/src/lib.rs:943:9
     |
943  | impl<T: Float> NotNan<T> {
     |         ^^^^^ required by this bound in `NotNan::<T>::new`
help: consider further restricting this bound
     |
1822 | pub fn get_lakes<F: Float + vek::num_traits::float::FloatCore>(
     |                           +++++++++++++++++++++++++++++++++++

Some errors have detailed explanations: E0277, E0599.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `veloren-world` due to 6 previous errors

See also https://gitlab.com/veloren/veloren/-/commit/3a19669d5362

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-271358-7788>