Julien-cpsn / ATAC

A simple API client (postman like) in your terminal
https://atac.julien-cpsn.com/
MIT License
1.86k stars 81 forks source link

error installing with cargo - error[E0308]: mismatched types #97

Closed ket000 closed 1 month ago

ket000 commented 1 month ago

Trying to run this on WSL2 Oracle Linux 8.19 with below. Also Cargo and rust version is 1.80. Can not use binary install due to incompatible GLIBC Version.

cargo install atac gives below error.

error[E0308]: mismatched types --> /home/xxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/atac-0.16.0/src/app/events.rs:665:49 664 EditingRequestBodyStringCharInput(_) => match key { --- this expression has type KeyCombination 665 KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.body_text_area.insert_char(char), ^^^^^^^^^^^^^^^^^^^ expected crokey::crossterm::event::KeyCode, found ratatui::crossterm::event::KeyCode
 = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types

note: ratatui::crossterm::event::KeyCode is defined in crate crossterm --> /home/xxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/crossterm-0.27.0/src/event.rs:841:1

rafaelsmgomes commented 1 month ago

Same

stormvirux commented 1 month ago

Similar issue, installing with cargo results in E0277, E0308.

error[E0277]: the trait bound `ratatui::crossterm::event::KeyEvent: From<KeyCombination>` is not satisfied
   --> /home/thaha/.cargo/registry/src/index.crates.io-6f17d22bba15001f/atac-0.16.0/src/utils/vim_emulation.rs:192:53
    |
192 |                     let key_event: KeyEvent = input.into();
    |                                                     ^^^^ the trait `From<KeyCombination>` is not implemented for `ratatui::crossterm::event::KeyEvent`, which is required by `KeyCombination: Into<ratatui::crossterm::event::KeyEvent>`
    |
    = help: the trait `From<ratatui::crossterm::event::KeyCode>` is implemented for `ratatui::crossterm::event::KeyEvent`
    = help: for that trait implementation, expected `ratatui::crossterm::event::KeyCode`, found `KeyCombination`
    = note: required for `KeyCombination` to implement `Into<ratatui::crossterm::event::KeyEvent>`

Some errors have detailed explanations: E0277, E0308.
AM-I-Human commented 1 month ago

Same issue here on Windows, installing with cargo:

Some errors have detailed explanations: E0277, E0308. For more information about an error, try `rustc --explain E0277`. error: could not compile `atac` (bin "atac") due to 23 previous errors error: failed to compile `atac v0.16.0`, intermediate artifacts can be found at

 error[E0277]: the trait bound `KeyCombination: From` is not satisfied
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:306:27
    |
306 |                 let key = KeyCombination::from(key_event);
    |                           ^^^^^^^^^^^^^^ the trait `From` is not implemented for `KeyCombination`
    |
    = help: the following other types implement trait `From`:
              >
              >

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:408:49
     |
407  |                 CreatingCollectionCharInput(_) => match key {
     |                                                         --- this expression has type `KeyCombination`
408  |                     KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.new_collection_input.enter_char(char),
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:420:49
     |
419  |                 CreatingRequestCharInput(_) => match key {
     |                                                      --- this expression has type `KeyCombination`
420  |                     KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.new_request_popup.text_input.enter_char(char),
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:444:49
     |
443  |                 RenamingCollectionCharInput(_) => match key {
     |                                                         --- this expression has type `KeyCombination`
444  |                     KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.rename_collection_input.enter_char(char),
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:454:49
     |
453  |                 RenamingRequestCharInput(_) => match key {
     |                                                      --- this expression has type `KeyCombination`
454  |                     KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.rename_request_input.enter_char(char),
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:548:49
     |
547  |                 EditingRequestUrlCharInput(_) => match key {
     |                                                        --- this expression has type `KeyCombination`
548  |                     KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.url_text_input.enter_char(char),
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:558:49
     |
557  |                 EditingRequestQueryParamCharInput(_) => match key {
     |                                                               --- this expression has type `KeyCombination`
558  |                     KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.query_params_table.selection_text_input.enter_char(char),
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:572:49
     |
571  |                 EditingRequestAuthUsernameCharInput(_) => match key {
     |                                                                 --- this expression has type `KeyCombination`
572  |                     KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.auth_basic_username_text_input.enter_char(char),
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:582:49
     |
581  |                 EditingRequestAuthPasswordCharInput(_) => match key {
     |                                                                 --- this expression has type `KeyCombination`
582  |                     KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.auth_basic_password_text_input.enter_char(char),
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:592:49
     |
591  |                 EditingRequestAuthBearerTokenCharInput(_) => match key {
     |                                                                    --- this expression has type `KeyCombination`
592  |                     KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.auth_bearer_token_text_input.enter_char(char),
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:604:49
     |
603  |                 EditingRequestHeaderCharInput(_) => match key {
     |                                                           --- this expression has type `KeyCombination`
604  |                     KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.headers_table.selection_text_input.enter_char(char),
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:616:49
     |
615  |                 EditingRequestBodyTableCharInput(_) => match key {
     |                                                              --- this expression has type `KeyCombination`
616  |                     KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.body_form_table.selection_text_input.enter_char(char),
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:626:49
     |
625  |                 EditingRequestBodyFileCharInput(_) => match key {
     |                                                             --- this expression has type `KeyCombination`
626  |                     KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.body_file_text_input.enter_char(char),
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:665:49
     |
664  |                 EditingRequestBodyStringCharInput(_) => match key {
     |                                                               --- this expression has type `KeyCombination`
665  |                     KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.body_text_area.insert_char(char),
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:706:49
     |
705  |                 EditingPreRequestScriptCharInput(_) => match key {
     |                                                              --- this expression has type `KeyCombination`
706  |                     KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.script_console.pre_request_text_area.insert_char(char),
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\events.rs:745:49
     |
744  |                 EditingPostRequestScriptCharInput(_) => match key {
     |                                                               --- this expression has type `KeyCombination`
745  |                     KeyCombination { codes: One(KeyCode::Char(char)), .. } => self.script_console.post_request_text_area.insert_char(char),
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\ui\result_tabs.rs:142:66
    |
142 | ...                   .new_protocol(image.clone(), request_result_layout[2], Resize::Fit(None))
    |                        ------------                ^^^^^^^^^^^^^^^^^^^^^^^^ expected `ratatui::layout::rect::Rect`, found `ratatui::layout::Rect`
    |                        |
    |                        arguments to this method are incorrect
    |
    = note: `ratatui::layout::Rect` and `ratatui::layout::rect::Rect` have similar names, but are actually distinct types
note: `ratatui::layout::Rect` is defined in crate `ratatui`
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\ratatui-0.27.0\src\layout\rect.rs:19:1
    |
19  | pub struct Rect {
    | ^^^^^^^^^^^^^^^
note: `ratatui::layout::rect::Rect` is defined in crate `ratatui`
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\ratatui-0.28.0\src\layout\rect.rs:19:1
    |
19  | pub struct Rect {
    | ^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `ratatui` are being used?
note: method defined here
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\ratatui-image-1.0.5\src\picker.rs:115:12
    |
115 |     pub fn new_protocol(
    |            ^^^^^^^^^^^^

error[E0277]: the trait bound `Image<'_>: Widget` is not satisfied
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\ui\result_tabs.rs:146:53
    |
146 | ...                   frame.render_widget(image, request_result_layout[2]);
    |                             ------------- ^^^^^ the trait `Widget` is not implemented for `Image<'_>`
    |                             |
    |                             required by a bound introduced by this call
    |
    = help: the following other types implement trait `Widget`:
              &W
              &str
              BarChart<'_>
              BigText<'_>
              Canvas<'_, F>
              Chart<'_>
              Gauge<'_>
              LineGauge<'_>
            and 14 others
note: required by a bound in `ratatui::Frame::<'_>::render_widget`
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\ratatui-0.27.0\src\terminal\frame.rs:74:29
    |
74  |     pub fn render_widget(&mut self, widget: W, area: Rect) {
    |                             ^^^^^^ required by this bound in `Frame::<'_>::render_widget`

error[E0277]: the trait bound `OneToThree: From` is not satisfied
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\app_states.rs:578:68
    |
578 |     pub static ref EMPTY_KEY: KeyCombination = KeyCombination::new(KeyCode::Null, KeyModifiers::NONE);
    |                                                ------------------- ^^^^^^^^^^^^^ the trait `From` is not implemented for `OneToThree`, which is required by `ratatui::crossterm::event::KeyCode: Into>`
    |                                                |
    |                                                required by a bound introduced by this call
    |
    = help: the following other types implement trait `From`:
               as From<(T, T)>>
               as From<(T, T, T)>>
               as From>
    = note: required for `ratatui::crossterm::event::KeyCode` to implement `Into>`
note: required by a bound in `KeyCombination::new`
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crokey-1.1.0\src\key_combination.rs:54:19
    |
54  |     pub fn new>>(codes: C, modifiers: KeyModifiers) -> Self {
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `KeyCombination::new`

error[E0308]: mismatched types
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\app\app_states.rs:578:83
    |
578 |     pub static ref EMPTY_KEY: KeyCombination = KeyCombination::new(KeyCode::Null, KeyModifiers::NONE);
    |                                                -------------------                ^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyModifiers`, found `ratatui::crossterm::event::KeyModifiers`
    |                                                |
    |                                                arguments to this function are incorrect
    |
    = note: `ratatui::crossterm::event::KeyModifiers` and `crokey::crossterm::event::KeyModifiers` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyModifiers` is defined in crate `crossterm`
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:596:1
    |
596 | / bitflags! {
597 | |     /// Represents key modifiers (shift, control, alt, etc.).
598 | |     ///
599 | |     /// **Note:** `SUPER`, `HYPER`, and `META` can only be read if
...   |
612 | |     }
613 | | }
    | |_^
note: `crokey::crossterm::event::KeyModifiers` is defined in crate `crossterm`
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:635:1
    |
635 | / bitflags! {
636 | |     /// Represents key modifiers (shift, control, alt, etc.).
637 | |     ///
638 | |     /// **Note:** `SUPER`, `HYPER`, and `META` can only be read if
...   |
651 | |     }
652 | | }
    | |_^
    = note: perhaps two different versions of crate `crossterm` are being used?
note: associated function defined here
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crokey-1.1.0\src\key_combination.rs:54:12
    |
54  |     pub fn new>>(codes: C, modifiers: KeyModifiers) -> Self {
    |            ^^^
    = note: this error originates in the macro `$crate::__declare_public_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\utils\vim_emulation.rs:143:49
     |
53   |                 match input {
     |                       ----- this expression has type `KeyCombination`
...
143  |                     KeyCombination { codes: One(KeyCode::Char(char)), modifiers: KeyModifiers::NONE } if self.mode == VimMode::Operator(char) => {
     |                                                 ^^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyCode`, found `ratatui::crossterm::event::KeyCode`
     |
     = note: `ratatui::crossterm::event::KeyCode` and `crokey::crossterm::event::KeyCode` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:841:1
     |
841  | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
note: `crokey::crossterm::event::KeyCode` is defined in crate `crossterm`
    --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:1011:1
     |
1011 | pub enum KeyCode {
     | ^^^^^^^^^^^^^^^^
     = note: perhaps two different versions of crate `crossterm` are being used?

error[E0308]: mismatched types
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\utils\vim_emulation.rs:143:82
    |
53  |                 match input {
    |                       ----- this expression has type `KeyCombination`
...
143 |                     KeyCombination { codes: One(KeyCode::Char(char)), modifiers: KeyModifiers::NONE } if self.mode == VimMode::Operator(char) => {
    |                                                                                  ^^^^^^^^^^^^^^^^^^ expected `crokey::crossterm::event::KeyModifiers`, found `ratatui::crossterm::event::KeyModifiers`
    |
    = note: `ratatui::crossterm::event::KeyModifiers` and `crokey::crossterm::event::KeyModifiers` have similar names, but are actually distinct types
note: `ratatui::crossterm::event::KeyModifiers` is defined in crate `crossterm`
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.27.0\src\event.rs:596:1
    |
596 | / bitflags! {
597 | |     /// Represents key modifiers (shift, control, alt, etc.).
598 | |     ///
599 | |     /// **Note:** `SUPER`, `HYPER`, and `META` can only be read if
...   |
612 | |     }
613 | | }
    | |_^
note: `crokey::crossterm::event::KeyModifiers` is defined in crate `crossterm`
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\crossterm-0.28.1\src\event.rs:635:1
    |
635 | / bitflags! {
636 | |     /// Represents key modifiers (shift, control, alt, etc.).
637 | |     ///
638 | |     /// **Note:** `SUPER`, `HYPER`, and `META` can only be read if
...   |
651 | |     }
652 | | }
    | |_^
    = note: perhaps two different versions of crate `crossterm` are being used?
    = note: this error originates in the macro `$crate::__declare_public_bitflags` which comes from the expansion of the macro `bitflags` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `ratatui::crossterm::event::KeyEvent: From` is not satisfied
   --> C:\Users\andre\.cargo\registry\src\index.crates.io-6f17d22bba15001f\atac-0.16.0\src\utils\vim_emulation.rs:192:53
    |
192 |                     let key_event: KeyEvent = input.into();
    |                                                     ^^^^ the trait `From` is not implemented for `ratatui::crossterm::event::KeyEvent`, which is required by `KeyCombination: Into`
    |
    = help: the trait `From` is implemented for `ratatui::crossterm::event::KeyEvent`
    = help: for that trait implementation, expected `ratatui::crossterm::event::KeyCode`, found `KeyCombination`
    = note: required for `KeyCombination` to implement `Into`

Some errors have detailed explanations: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `atac` (bin "atac") due to 23 previous errors
error: failed to compile `atac v0.16.0`, intermediate artifacts can be found at `C:\Users\andre\AppData\Local\Temp\cargo-installdXnWbz`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.
 
Julien-cpsn commented 1 month ago

Hello guys,

this error comes from the fact that dependencies are not locked (idk why). The package crokey has been updated to support ratatui v0.28.0 which has breaking change, although I don't have ratatui v0.28.0

It will be fixed today or tomorrow with the rolling out of v0.17.0 of ATAC

Have a great day

AM-I-Human commented 1 month ago

Thank you :)

On Thu, 15 Aug 2024 at 11:54, Julien @.***> wrote:

Hello guys,

this error comes from the fact that dependencies are not locked (idk why). The package crokey has been updated to support ratatui v0.28.0 which has breaking change, although I don't have ratatui v0.28.0

It will be fixed today or tomorrow with the rolling out of v0.17.0 of ATAC

Have a great day

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

losinggeneration commented 1 month ago

this error comes from the fact that dependencies are not locked (idk why)

I would assume it has to do with how cargo handles SemVer compatibility. In this case, the version specified was "0.27.0" which is actually "^0.27.0" which means >=0.27.0, <1.0.0 If they're introducing breaking changes in minor versions, either locking the exact version "=0.27.0" or using the tilde "~0.27.0" meaning >=0.27.0, <0.28.0 probably makes more sense to use. I could be wrong though :shrug:

Julien-cpsn commented 1 month ago

this error comes from the fact that dependencies are not locked (idk why)

I would assume it has to do with how cargo handles SemVer compatibility. In this case, the version specified was "0.27.0" which is actually "^0.27.0" which means >=0.27.0, <1.0.0 If they're introducing breaking changes in minor versions, either locking the exact version "=0.27.0" or using the tilde "~0.27.0" meaning >=0.27.0, <0.28.0 probably makes more sense to use. I could be wrong though :shrug:

Yes I started locking the dependencies

Julien-cpsn commented 1 month ago

Closed by https://github.com/Julien-cpsn/ATAC/releases/tag/v0.17.0