Skip to content

Annotations needed when running cargo install --path . #73

Description

@elielnfinic

Hi everyone,

I am getting an annotation needed issue when trying to install tasm-lang on Mac.

My environment info are :

  • OS : MacOS 15.2
  • Rustc : rustc 1.83.0 (90b35a623 2024-11-26)

Here is the error :

error[E0283]: type annotations needed
    --> /Users/USERNAME/.cargo/registry/src/index.crates.io-6f17d22bba15001f/triton-vm-0.42.1/src/fri.rs:479:13
     |
479  |         let horner_evaluation = self.last_round_polynomial.evaluate(indeterminate);
     |             ^^^^^^^^^^^^^^^^^                              -------- type must be known at this point
     |
     = note: multiple `impl`s satisfying `_: std::ops::Mul<twenty_first::prelude::XFieldElement>` found in the following crates: `twenty_first`, `typenum`:
             - impl std::ops::Mul for twenty_first::prelude::XFieldElement;
             - impl std::ops::Mul<twenty_first::prelude::XFieldElement> for twenty_first::prelude::BFieldElement;
             - impl<Rhs> std::ops::Mul<Rhs> for typenum::array::ATerm;
             - impl<S, FF, FF2> std::ops::Mul<S> for twenty_first::prelude::Polynomial<FF>
               where <FF as std::ops::Mul<S>>::Output == FF2, S: twenty_first::math::traits::FiniteField, FF: twenty_first::math::traits::FiniteField, FF: std::ops::Mul<S>, FF2: twenty_first::math::traits::FiniteField;
             - impl<V, A, Rhs> std::ops::Mul<Rhs> for typenum::array::TArr<V, A>
               where V: std::ops::Mul<Rhs>, A: std::ops::Mul<Rhs>, Rhs: std::marker::Copy;
note: required by a bound in `twenty_first::prelude::Polynomial::<FF>::evaluate`
    --> /Users/USERNAME/.cargo/registry/src/index.crates.io-6f17d22bba15001f/twenty-first-0.42.0-alpha.11/src/math/polynomial.rs:2002:15
     |
1999 |     pub fn evaluate<Ind, Eval>(&self, x: Ind) -> Eval
     |            -------- required by a bound in this associated function
...
2002 |         Eval: Mul<Ind, Output = Eval> + Add<FF, Output = Eval> + Zero,
     |               ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Polynomial::<FF>::evaluate`
help: consider giving `horner_evaluation` an explicit type
     |
479  |         let horner_evaluation: /* Type */ = self.last_round_polynomial.evaluate(indeterminate);
     |                              ++++++++++++

error[E0283]: type annotations needed
   --> /Users/USERNAME/.cargo/registry/src/index.crates.io-6f17d22bba15001f/triton-vm-0.42.1/src/fri.rs:479:13
    |
479 |         let horner_evaluation = self.last_round_polynomial.evaluate(indeterminate);
    |             ^^^^^^^^^^^^^^^^^
480 |         let barycentric_evaluation = barycentric_evaluate(&self.last_round_codeword, indeterminate);
481 |         if horner_evaluation != barycentric_evaluation {
    |                              -- type must be known at this point
    |
    = note: multiple `impl`s satisfying `_: PartialEq<twenty_first::prelude::XFieldElement>` found in the following crates: `ndarray`, `twenty_first`:
            - impl PartialEq for twenty_first::prelude::XFieldElement;
            - impl<I> PartialEq<I> for Dim<I>
              where I: PartialEq, I: ?Sized;
help: consider giving `horner_evaluation` an explicit type
    |
479 |         let horner_evaluation: /* Type */ = self.last_round_polynomial.evaluate(indeterminate);
    |                              ++++++++++++

For more information about this error, try `rustc --explain E0283`.
error: could not compile `triton-vm` (lib) due to 2 previous errors
error: failed to compile `tasm-lang v0.0.0 (/Users/USERNAME/apps/tasm-lang)`, intermediate artifacts can be found at `/Users/USERNAME/apps/tasm-lang/target`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.```

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions