Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot compile ironrdp-connector with "arbitrary" feature turned on #384

Closed
irvingoujAtDevolution opened this issue Feb 26, 2024 · 1 comment
Labels
duplicate This issue or pull request already exists

Comments

@irvingoujAtDevolution
Copy link
Contributor

rustc version is

PS C:\Users\jou\code\IronRDP\crates\ironrdp-connector> rustc --version     
rustc 1.74.0 (79e9716c9 2023-11-13)c

Let me know if you can reproduce it @CBenoit

The following is compile output

PS C:\Users\jou\code\IronRDP\crates\ironrdp-connector> cargo build --features arbitrary
   Compiling ironrdp-pdu v0.1.0 (C:\Users\jou\code\IronRDP\crates\ironrdp-pdu)
   Compiling ironrdp-svc v0.1.0 (C:\Users\jou\code\IronRDP\crates\ironrdp-svc)
   Compiling ironrdp-connector v0.1.0 (C:\Users\jou\code\IronRDP\crates\ironrdp-connector)
error[E0277]: the trait bound `StaticChannelSet: Arbitrary<'_>` is not satisfied
  --> crates\ironrdp-connector\src\connection.rs:19:42
   |
19 | #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
   |                                          ^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `StaticChannelSet`
   |
   = help: the following other types implement trait `Arbitrary<'a>`:
             <bool as Arbitrary<'a>>
             <char as Arbitrary<'a>>
             <isize as Arbitrary<'a>>
             <i8 as Arbitrary<'a>>
             <i16 as Arbitrary<'a>>
             <i32 as Arbitrary<'a>>
             <i64 as Arbitrary<'a>>
             <i128 as Arbitrary<'a>>
           and 107 others
   = note: this error originates in the derive macro `arbitrary::Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `StaticChannelSet: Arbitrary<'_>` is not satisfied
  --> crates\ironrdp-connector\src\connection.rs:23:26
   |
23 |     pub static_channels: StaticChannelSet,
   |                          ^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `StaticChannelSet`
   |
   = help: the following other types implement trait `Arbitrary<'a>`:
             <bool as Arbitrary<'a>>
             <char as Arbitrary<'a>>
             <isize as Arbitrary<'a>>
             <i8 as Arbitrary<'a>>
             <i16 as Arbitrary<'a>>
             <i32 as Arbitrary<'a>>
             <i64 as Arbitrary<'a>>
             <i128 as Arbitrary<'a>>
           and 107 others

error[E0277]: the trait bound `SecurityProtocol: Arbitrary<'_>` is not satisfied
  --> crates\ironrdp-connector\src\connection.rs:32:42
   |
32 | #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
   |                                          ^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `SecurityProtocol`
   |
   = help: the following other types implement trait `Arbitrary<'a>`:
             <bool as Arbitrary<'a>>
             <char as Arbitrary<'a>>
             <isize as Arbitrary<'a>>
             <i8 as Arbitrary<'a>>
             <i16 as Arbitrary<'a>>
             <i32 as Arbitrary<'a>>
             <i64 as Arbitrary<'a>>
             <i128 as Arbitrary<'a>>
           and 107 others
   = note: this error originates in the derive macro `arbitrary::Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `ConnectInitial: Arbitrary<'_>` is not satisfied
  --> crates\ironrdp-connector\src\connection.rs:32:42
   |
32 | #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
   |                                          ^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `ConnectInitial`
   |
   = help: the following other types implement trait `Arbitrary<'a>`:
             <bool as Arbitrary<'a>>
             <char as Arbitrary<'a>>
             <isize as Arbitrary<'a>>
             <i8 as Arbitrary<'a>>
             <i16 as Arbitrary<'a>>
             <i32 as Arbitrary<'a>>
             <i64 as Arbitrary<'a>>
             <i128 as Arbitrary<'a>>
           and 107 others
   = note: this error originates in the derive macro `arbitrary::Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `SecurityProtocol: Arbitrary<'_>` is not satisfied
  --> crates\ironrdp-connector\src\connection.rs:39:29
   |
39 |         requested_protocol: nego::SecurityProtocol,
   |                             ^^^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `SecurityProtocol`
   |
   = help: the following other types implement trait `Arbitrary<'a>`:
             <bool as Arbitrary<'a>>
             <char as Arbitrary<'a>>
             <isize as Arbitrary<'a>>
             <i8 as Arbitrary<'a>>
             <i16 as Arbitrary<'a>>
             <i32 as Arbitrary<'a>>
             <i64 as Arbitrary<'a>>
             <i128 as Arbitrary<'a>>
           and 107 others

error[E0277]: the trait bound `SecurityProtocol: Arbitrary<'_>` is not satisfied
  --> crates\ironrdp-connector\src\connection.rs:42:28
   |
42 |         selected_protocol: nego::SecurityProtocol,
   |                            ^^^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `SecurityProtocol`
   |
   = help: the following other types implement trait `Arbitrary<'a>`:
             <bool as Arbitrary<'a>>
             <char as Arbitrary<'a>>
             <isize as Arbitrary<'a>>
             <i8 as Arbitrary<'a>>
             <i16 as Arbitrary<'a>>
             <i32 as Arbitrary<'a>>
             <i64 as Arbitrary<'a>>
             <i128 as Arbitrary<'a>>
           and 107 others

error[E0277]: the trait bound `SecurityProtocol: Arbitrary<'_>` is not satisfied
  --> crates\ironrdp-connector\src\connection.rs:45:28
   |
45 |         selected_protocol: nego::SecurityProtocol,
   |                            ^^^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `SecurityProtocol`
   |
   = help: the following other types implement trait `Arbitrary<'a>`:
             <bool as Arbitrary<'a>>
             <char as Arbitrary<'a>>
             <isize as Arbitrary<'a>>
             <i8 as Arbitrary<'a>>
             <i16 as Arbitrary<'a>>
             <i32 as Arbitrary<'a>>
             <i64 as Arbitrary<'a>>
             <i128 as Arbitrary<'a>>
           and 107 others

error[E0277]: the trait bound `SecurityProtocol: Arbitrary<'_>` is not satisfied
  --> crates\ironrdp-connector\src\connection.rs:48:28
   |
48 |         selected_protocol: nego::SecurityProtocol,
   |                            ^^^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `SecurityProtocol`
   |
   = help: the following other types implement trait `Arbitrary<'a>`:
             <bool as Arbitrary<'a>>
             <char as Arbitrary<'a>>
             <isize as Arbitrary<'a>>
             <i8 as Arbitrary<'a>>
             <i16 as Arbitrary<'a>>
             <i32 as Arbitrary<'a>>
             <i64 as Arbitrary<'a>>
             <i128 as Arbitrary<'a>>
           and 107 others

error[E0277]: the trait bound `ConnectInitial: Arbitrary<'_>` is not satisfied
  --> crates\ironrdp-connector\src\connection.rs:51:26
   |
51 |         connect_initial: mcs::ConnectInitial,
   |                          ^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `ConnectInitial`
   |
   = help: the following other types implement trait `Arbitrary<'a>`:
             <bool as Arbitrary<'a>>
             <char as Arbitrary<'a>>
             <isize as Arbitrary<'a>>
             <i8 as Arbitrary<'a>>
             <i16 as Arbitrary<'a>>
             <i32 as Arbitrary<'a>>
             <i64 as Arbitrary<'a>>
             <i128 as Arbitrary<'a>>
           and 107 others

error[E0277]: the trait bound `SocketAddr: Arbitrary<'_>` is not satisfied
   --> crates\ironrdp-connector\src\connection.rs:120:42
    |
120 | #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
    |                                          ^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `SocketAddr`
    |
    = help: the following other types implement trait `Arbitrary<'a>`:
              <bool as Arbitrary<'a>>
              <char as Arbitrary<'a>>
              <isize as Arbitrary<'a>>
              <i8 as Arbitrary<'a>>
              <i16 as Arbitrary<'a>>
              <i32 as Arbitrary<'a>>
              <i64 as Arbitrary<'a>>
              <i128 as Arbitrary<'a>>
            and 107 others
    = note: required for `Option<SocketAddr>` to implement `Arbitrary<'_>`
    = note: this error originates in the derive macro `arbitrary::Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `StaticChannelSet: Arbitrary<'_>` is not satisfied
   --> crates\ironrdp-connector\src\connection.rs:120:42
    |
120 | #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
    |                                          ^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `StaticChannelSet`
    |
    = help: the following other types implement trait `Arbitrary<'a>`:
              <bool as Arbitrary<'a>>
              <char as Arbitrary<'a>>
              <isize as Arbitrary<'a>>
              <i8 as Arbitrary<'a>>
              <i16 as Arbitrary<'a>>
              <i32 as Arbitrary<'a>>
              <i64 as Arbitrary<'a>>
              <i128 as Arbitrary<'a>>
            and 107 others
    = note: this error originates in the derive macro `arbitrary::Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `SocketAddr: Arbitrary<'_>` is not satisfied
   --> crates\ironrdp-connector\src\connection.rs:124:22
    |
124 |     pub server_addr: Option<SocketAddr>,
    |                      ^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `SocketAddr`
    |
    = help: the following other types implement trait `Arbitrary<'a>`:
              <bool as Arbitrary<'a>>
              <char as Arbitrary<'a>>
              <isize as Arbitrary<'a>>
              <i8 as Arbitrary<'a>>
              <i16 as Arbitrary<'a>>
              <i32 as Arbitrary<'a>>
              <i64 as Arbitrary<'a>>
              <i128 as Arbitrary<'a>>
            and 107 others
    = note: required for `Option<SocketAddr>` to implement `Arbitrary<'_>`

error[E0277]: the trait bound `StaticChannelSet: Arbitrary<'_>` is not satisfied
   --> crates\ironrdp-connector\src\connection.rs:125:26
    |
125 |     pub static_channels: StaticChannelSet,
    |                          ^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `StaticChannelSet`
    |
    = help: the following other types implement trait `Arbitrary<'a>`:
              <bool as Arbitrary<'a>>
              <char as Arbitrary<'a>>
              <isize as Arbitrary<'a>>
              <i8 as Arbitrary<'a>>
              <i16 as Arbitrary<'a>>
              <i32 as Arbitrary<'a>>
              <i64 as Arbitrary<'a>>
              <i128 as Arbitrary<'a>>
            and 107 others

error[E0277]: the trait bound `LicenseEncryptionData: Arbitrary<'_>` is not satisfied
  --> crates\ironrdp-connector\src\license_exchange.rs:14:42
   |
14 | #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
   |                                          ^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `LicenseEncryptionData`
   |
   = help: the following other types implement trait `Arbitrary<'a>`:
             <bool as Arbitrary<'a>>
             <char as Arbitrary<'a>>
             <isize as Arbitrary<'a>>
             <i8 as Arbitrary<'a>>
             <i16 as Arbitrary<'a>>
             <i32 as Arbitrary<'a>>
             <i64 as Arbitrary<'a>>
             <i128 as Arbitrary<'a>>
           and 107 others
   = note: this error originates in the derive macro `arbitrary::Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `LicenseEncryptionData: Arbitrary<'_>` is not satisfied
  --> crates\ironrdp-connector\src\license_exchange.rs:21:26
   |
21 |         encryption_data: server_license::LicenseEncryptionData,
   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `LicenseEncryptionData`
   |
   = help: the following other types implement trait `Arbitrary<'a>`:
             <bool as Arbitrary<'a>>
             <char as Arbitrary<'a>>
             <isize as Arbitrary<'a>>
             <i8 as Arbitrary<'a>>
             <i16 as Arbitrary<'a>>
             <i32 as Arbitrary<'a>>
             <i64 as Arbitrary<'a>>
             <i128 as Arbitrary<'a>>
           and 107 others

error[E0277]: the trait bound `LicenseEncryptionData: Arbitrary<'_>` is not satisfied
  --> crates\ironrdp-connector\src\license_exchange.rs:24:26
   |
24 |         encryption_data: server_license::LicenseEncryptionData,
   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `LicenseEncryptionData`
   |
   = help: the following other types implement trait `Arbitrary<'a>`:
             <bool as Arbitrary<'a>>
             <char as Arbitrary<'a>>
             <isize as Arbitrary<'a>>
             <i8 as Arbitrary<'a>>
             <i16 as Arbitrary<'a>>
             <i32 as Arbitrary<'a>>
             <i64 as Arbitrary<'a>>
             <i128 as Arbitrary<'a>>
           and 107 others

error[E0277]: the trait bound `Credentials: Arbitrary<'_>` is not satisfied
  --> crates\ironrdp-connector\src\lib.rs:79:42
   |
79 | #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
   |                                          ^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `Credentials`
   |
   = help: the following other types implement trait `Arbitrary<'a>`:
             <bool as Arbitrary<'a>>
             <char as Arbitrary<'a>>
             <isize as Arbitrary<'a>>
             <i8 as Arbitrary<'a>>
             <i16 as Arbitrary<'a>>
             <i32 as Arbitrary<'a>>
             <i64 as Arbitrary<'a>>
             <i128 as Arbitrary<'a>>
           and 107 others
   = note: this error originates in the derive macro `arbitrary::Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `KeyboardType: Arbitrary<'_>` is not satisfied
  --> crates\ironrdp-connector\src\lib.rs:79:42
   |
79 | #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
   |                                          ^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `KeyboardType`
   |
   = help: the following other types implement trait `Arbitrary<'a>`:
             <bool as Arbitrary<'a>>
             <char as Arbitrary<'a>>
             <isize as Arbitrary<'a>>
             <i8 as Arbitrary<'a>>
             <i16 as Arbitrary<'a>>
             <i32 as Arbitrary<'a>>
             <i64 as Arbitrary<'a>>
             <i128 as Arbitrary<'a>>
           and 107 others
   = note: this error originates in the derive macro `arbitrary::Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `MajorPlatformType: Arbitrary<'_>` is not satisfied
  --> crates\ironrdp-connector\src\lib.rs:79:42
   |
79 | #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
   |                                          ^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `MajorPlatformType`
   |
   = help: the following other types implement trait `Arbitrary<'a>`:
             <bool as Arbitrary<'a>>
             <char as Arbitrary<'a>>
             <isize as Arbitrary<'a>>
             <i8 as Arbitrary<'a>>
             <i16 as Arbitrary<'a>>
             <i32 as Arbitrary<'a>>
             <i64 as Arbitrary<'a>>
             <i128 as Arbitrary<'a>>
           and 107 others
   = note: this error originates in the derive macro `arbitrary::Arbitrary` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `Credentials: Arbitrary<'_>` is not satisfied
   --> crates\ironrdp-connector\src\lib.rs:129:22
    |
129 |     pub credentials: Credentials,
    |                      ^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `Credentials`
    |
    = help: the following other types implement trait `Arbitrary<'a>`:
              <bool as Arbitrary<'a>>
              <char as Arbitrary<'a>>
              <isize as Arbitrary<'a>>
              <i8 as Arbitrary<'a>>
              <i16 as Arbitrary<'a>>
              <i32 as Arbitrary<'a>>
              <i64 as Arbitrary<'a>>
              <i128 as Arbitrary<'a>>
            and 107 others

error[E0277]: the trait bound `KeyboardType: Arbitrary<'_>` is not satisfied
   --> crates\ironrdp-connector\src\lib.rs:137:24
    |
137 |     pub keyboard_type: gcc::KeyboardType,
    |                        ^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `KeyboardType`
    |
    = help: the following other types implement trait `Arbitrary<'a>`:
              <bool as Arbitrary<'a>>
              <char as Arbitrary<'a>>
              <isize as Arbitrary<'a>>
              <i8 as Arbitrary<'a>>
              <i16 as Arbitrary<'a>>
              <i32 as Arbitrary<'a>>
              <i64 as Arbitrary<'a>>
              <i128 as Arbitrary<'a>>
            and 107 others

error[E0277]: the trait bound `MajorPlatformType: Arbitrary<'_>` is not satisfied
   --> crates\ironrdp-connector\src\lib.rs:145:19
    |
145 |     pub platform: capability_sets::MajorPlatformType,
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Arbitrary<'_>` is not implemented for `MajorPlatformType`
    |
    = help: the following other types implement trait `Arbitrary<'a>`:
              <bool as Arbitrary<'a>>
              <char as Arbitrary<'a>>
              <isize as Arbitrary<'a>>
              <i8 as Arbitrary<'a>>
              <i16 as Arbitrary<'a>>
              <i32 as Arbitrary<'a>>
              <i64 as Arbitrary<'a>>
              <i128 as Arbitrary<'a>>
            and 107 others

For more information about this error, try `rustc --explain E0277`.
error: could not compile `ironrdp-connector` (lib) due to 31 previous errors
warning: build failed, waiting for other jobs to finish...
@irvingoujAtDevolution irvingoujAtDevolution changed the title Cannot compile ironrdp-connector with arbitrary feature turned on Cannot compile ironrdp-connector with "arbitrary" feature turned on Feb 26, 2024
@CBenoit
Copy link
Member

CBenoit commented Feb 26, 2024

This is a duplicate of #365

@CBenoit CBenoit marked this as a duplicate of #365 Feb 26, 2024
@CBenoit CBenoit closed this as completed Feb 26, 2024
@CBenoit CBenoit added the duplicate This issue or pull request already exists label Feb 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists
Development

No branches or pull requests

2 participants