profile
viewpoint

m4b/goblin 534

An impish, cross-platform binary parsing crate, written in Rust

jasoncharnes/run.rb 502

Run Ruby in the browser using WebAssembly

willglynn/attribute_normalizer 1

Adds the ability to normalize attributes cleanly with code blocks and predefined normalizers

willglynn/activerecord-sqlserver-adapter 0

SQL Server Adapter For Rails

willglynn/amazon-vpc-cni-k8s 0

Networking plugin repository for pod networking in Kubernetes using Elastic Network Interfaces on AWS

willglynn/artichoke 0

💎 Artichoke is a Ruby made with Rust

willglynn/aws-sdk-for-java 0

Official mirror of the AWS SDK for Java. For more information on the AWS SDK for Java, see our web site:

willglynn/binaryen 0

Compiler infrastructure and toolchain library for WebAssembly, in C++

willglynn/braintree_ruby 0

braintree ruby client library

issue commentraceintospace/raceintospace

LM failure kills wrong crew members

Do you remember the failure message for this latest test? I've been trying to recreate this problem, but in my play-through after killing off the LM crew the mission successfully skips the remaining LM steps and proceeds to Trans-Earth Injection.

So I'm wondering if you're dealing with a different error code? I've been forcing an Code 31 error

ENGINE EXPLODES UPON IGNITION. SPACECRAFT CREW IS KILLED.

on step 7 (0-indexed), the Lunar De-Orbit Burn. For me, that's now working correctly, and I assumed that was the problem you were having from your description. But maybe you're encountering something else?

peyre

comment created time in 5 hours

issue commentraceintospace/raceintospace

Better place to show Duration Level

I don't know of a great place to put it in the capsule screen. I like your idea of a summary page, which shouldn't be hard to make, but I was going to put that off until after the next release. It seems a bad idea to try and rush in a new feature (as opposed to a bug fix) without time to test it out.

peyre

comment created time in 6 hours

startedwillglynn/pdb

started time in a day

issue commentraceintospace/raceintospace

LM failure kills wrong crew members

Progress! I see that now, an LM catastrophe kills the Commander and LM Pilot, but it doesn't prevent the mission continuing(!)

dead

peyre

comment created time in 2 days

issue closedraceintospace/raceintospace

Recommend Mission Scrub

I can't believe I never noticed this until today!! When Mission Control recommends a scrub, there's a button for that in the Step Failure screen. If you click it, the mission scrubs automatically. Do you think we should add a confirmation dialog for it? That would be in line with how the game handles most other options like this (e.g., the Delay and Scrub buttons in the VAB/VIB).

RecommendScrub

closed time in 2 days

peyre

issue commentraceintospace/raceintospace

Recommend Mission Scrub

Ok, it now asks for confirmation if you hit that button.

peyre

comment created time in 2 days

push eventraceintospace/raceintospace

Leon Baradat

commit sha 57c2f682d7867c8cbbf1cd49291714e0b60a621f

Recommended scrub now asks for confirmation

view details

push time in 2 days

push eventraceintospace/raceintospace

Leon Baradat

commit sha d2af38c57c5d1c485003b16841df4841123ce3b4

Added item for recommended scrub Also added more info for Apollo, Soyuz, and Kicker-C

view details

push time in 2 days

push eventraceintospace/raceintospace

Leon Baradat

commit sha 270a5776bf8a89b17671c998994898c551aa6f9f

Add files via upload

view details

push time in 2 days

push eventraceintospace/raceintospace

Leon Baradat

commit sha 55d8e547708d0a38588001e8686e3410bf3ba2ca

Fixed the FIX button inbox

view details

push time in 2 days

issue openedraceintospace/raceintospace

Better place to show Duration Level

BARIS never had a place that showed what duration level you'd reached. Years ago I kind of shoved it into the Satellite Building, but I've always wanted to find a better place for it. Here is the Satellite Building in BARIS vs. RIS; as you can see, I squeezed things down for the docking module to make room for duration level, but it doesn't really belong there. BARISSatelliteBuilding RISSatelliteBuilding

Trouble is I haven't been able to come up with a better place to put it. It should be easily accessible from the spaceport screen, but where? I wonder if it could go in the Capsule Screen. Thoughts anyone? New place for duration level

created time in 2 days

issue commentraceintospace/raceintospace

Implement messaging in PBEM games

I've always assumed that if two people are gearing up to use the PBEM feature, they have a passing familiarity anyway, at least enough to share emails. If you started a game with someone who turned out to be a creep, you don't have to load the save and keep playing (in other words I don't see it as any different from any other situation where you've shared your email with someone).

I'm not a fan of having a centralized server. How long would we maintain it? And then the feature wouldn't be usable. Like today you can't play the original Neverwinter Nights MMORPG because the central server shut down. However you can still play BARIS (CD version) by mail with someone because it doesn't rely on an centralized server. A decentralized PtP network might be ok, though it sounds like a lot to build.

peyre

comment created time in 4 days

issue commentraceintospace/raceintospace

Implement messaging in PBEM games

I think the bigger question is how two players are supposed to get connected in the first place. If we rely entirely on outside communications channels that would still not solve the problem of initial contact. Additionally, people might be hesitant to share personal data such as e-mail addresses or IM handles because of obvious spam problems. A better solution would be to have either a centralized server or a decentralized P2P network, which could even be used to have general discussions with other players.

peyre

comment created time in 4 days

startedDallasCarraher/ffeg-mobile

started time in 4 days

pull request commentraceintospace/raceintospace

Add JSON serialization for game data and save games

The cereal header and move to C++11 should be added to this pull request as well, so they get committed together.

I've added both things, and at least on my machine the build runs successfully even if Cereal has not been installed before.

hweimer

comment created time in 4 days

issue commentm4b/goblin

Elf: NoteIterator has an infinite loop

By the way, that file_core_arm_pi.zip has a lot of stuff wrong with it (e.g. try running readelf on it). So while goblin should do better, you are trying to run it on something that is corrupted or invalid.

m4b

comment created time in 4 days

issue commentm4b/goblin

Elf: NoteIterator has an infinite loop

The hang is actually on notes_iter.count(). So yes it's the same problem as described in this issue: currently you must not continue iterating after an error occurs or you'll get an infinite loop (and count will always continue iterating).

m4b

comment created time in 4 days

issue commentraceintospace/raceintospace

Line drawn in wrong spot in Step Failure

Oh, wow. Here I always assumed it was supposed to separate crew members. Maybe it would be better if we changed the color of the astronaut name or something instead?

peyre

comment created time in 4 days

issue commentraceintospace/raceintospace

Line drawn in wrong spot in Step Failure

Aha! The line is drawn to indicate which astronaut/cosmonaut is performing the test:

  • The Trans-lunar injection is a Capsule test being performed by the Mission Commander Powell
  • The Hardware Power-On is a LM test being performed by the LM Pilot, Cooper
  • The Docking step is a Docking test being performed by the Capsule Pilot (aka Docking specialist), Basset
  • The Photo Reconnaissance check is not performed by an astronaut or cosmonaut.

So that's the secret of the yellow line. Knowing that, it's kinda useful. Probably should document that somewhere.

peyre

comment created time in 4 days

issue commentraceintospace/raceintospace

Historical lunar landing crash

Ryan, thank you! I love that you've managed to close one of our old Issues. I'd sure like to clear some of those out.

willglynn

comment created time in 5 days

issue closedraceintospace/raceintospace

LM failure kills everyone, though dead capsule crew brings the ship home

In the same lunar landing mission I mentioned in #286, the LM lifted off but couldn't make it up to the capsule, made an emergency landing and the crew died on the surface. Yet...the guy up in the capsule died too: Primary crew dead

Yet, he managed to fly the capsule successfully back to Earth, only to be dead again on arrival. All dead

closed time in 5 days

peyre

issue commentraceintospace/raceintospace

LM failure kills everyone, though dead capsule crew brings the ship home

Duplicate of #476.

The main point of distinction is that selecting a person to walk on the moon modifies the EVA field, which impacted how the LM failure decided who to kill. I'm closing this issue and leaving the other open, since it contains more complete commentary on what is happening.

peyre

comment created time in 5 days

issue closedraceintospace/raceintospace

Historical lunar landing crash

I get "re-entry corridor" leading to "orbital insertion", followed by another lunar landing sequence, followed by a crash in Launch():

for (i = 0; i < 1 + JOINT; i++) {
    /* XXX: was MANNED[i]+1, but why? */
    for (j = 0; j < MANNED[i]; j++) {
        if (MA[i][j].A) {
            if (FINAL >= 100) {
                MA[i][j].A->Mis = 1;    // Successful
            } else if (Data->P[plr].Other & 4) {
                MA[i][j].A->Mis = 2;    // Failure
            }
        }
    }
}

Everything seems successful, but it segfaults on the "Failure" branch here with i = 0, j = 9.

closed time in 5 days

willglynn

issue commentraceintospace/raceintospace

Historical lunar landing crash

Reviewing this, I'm pretty sure the problem was this issue.

This issue has two parts:

  1. The sudden change in mission step execution, and
  2. The segfault caused by the bad Manned[0] value

The second part is exactly the problem caused by #200. As for the weird mission ordering, I suspect the pAry overflow is also the issue - after MANNED[] it would eventually overflow into STEP. Also possible is that modifying MANNED[] created its out-of-range issues that compounded the chaos - such as an MA[][] out-of-range access into Mev.

Until someone else can reproduce the problem, I'm closing this.

willglynn

comment created time in 5 days

issue commentm4b/goblin

Elf: NoteIterator has an infinite loop

Hello, in my case there is a hang too. Here is the code to reproduce:

use goblin::{error, Object};
use std::path::Path;
use std::env;
use std::fs;
use goblin::elf::header;

fn main() -> error::Result<()> {
    for (i, arg) in env::args().enumerate() {
        if i == 1 {
            let path = Path::new(arg.as_str());
            let buffer = fs::read(path)?;
            match Object::parse(&buffer)? {
                Object::Elf(elf) => {
                    if elf.header.e_type == header::ET_CORE {
                        let notes_iter = elf.iter_note_headers(&buffer);
                        if let Some(notes_iter) = notes_iter {
                            println!("Notes count:{}", notes_iter.count())
                        }
                    }
                },
                _ => {

                }
            }
        }
    }
    Ok(())
}

Here is the core file to parse (file is broken, it is generated by testing tool) file_core_arm_pi.zip Hang is occurred in function:

 elf.iter_note_headers(&buffer);

Execution doesn't get to the next line.

m4b

comment created time in 5 days

issue commentm4b/goblin

feature request, remove the dependes on log or make it optional.

scroll_derive is a prolbem, can we remove it with a customized one?

warning: Patch `proc-macro2 v1.0.24 (C:\work\study\languages\rust\rulibc\deps\proc-macro2)` was not used in the crate graph.
Patch `quote v1.0.7 (C:\work\study\languages\rust\rulibc\deps\quote)` was not used in the crate graph.
Patch `syn v1.0.44 (C:\work\study\languages\rust\rulibc\deps\syn)` was not used in the crate graph.
Patch `unicode-xid v0.2.1 (C:\work\study\languages\rust\rulibc\deps\unicode-xid)` was not used in the crate graph.
Check that the patched package version and available features are compatible
with the dependency requirements. If the patch has a different version from
what is locked in the Cargo.lock file, run `cargo update` to use the new
version. This may also occur with an optional dependency that is not enabled.
   Compiling rulibc v0.1.0 (C:\work\study\languages\rust\rulibc)
warning: use of deprecated macro `try`: use the `?` operator instead
  --> deps\plain\src\methods.rs:75:5
   |
75 |     try!(check_alignment::<T>(bytes));
   |     ^^^
   |
   = note: `#[warn(deprecated)]` on by default

warning: use of deprecated macro `try`: use the `?` operator instead
  --> deps\plain\src\methods.rs:76:5
   |
76 |     try!(check_length::<T>(bytes, 1));
   |     ^^^

warning: use of deprecated macro `try`: use the `?` operator instead
   --> deps\plain\src\methods.rs:125:5
    |
125 |     try!(check_alignment::<T>(bytes));
    |     ^^^

warning: use of deprecated macro `try`: use the `?` operator instead
   --> deps\plain\src\methods.rs:126:5
    |
126 |     try!(check_length::<T>(bytes, len));
    |     ^^^

warning: use of deprecated macro `try`: use the `?` operator instead
   --> deps\plain\src\methods.rs:141:5
    |
141 |     try!(check_alignment::<T>(bytes));
    |     ^^^

warning: use of deprecated macro `try`: use the `?` operator instead
   --> deps\plain\src\methods.rs:142:5
    |
142 |     try!(check_length::<T>(bytes, 1));
    |     ^^^

warning: use of deprecated macro `try`: use the `?` operator instead
   --> deps\plain\src\methods.rs:168:5
    |
168 |     try!(check_alignment::<T>(bytes));
    |     ^^^

warning: use of deprecated macro `try`: use the `?` operator instead
   --> deps\plain\src\methods.rs:169:5
    |
169 |     try!(check_length::<T>(bytes, len));
    |     ^^^

warning: 8 warnings emitted

   Compiling goblin v0.2.3 (C:\work\study\languages\rust\rulibc\deps\goblin)
error[E0432]: unresolved import `scroll::SizeWith`
  --> deps\goblin\src\elf\compression_header.rs:86:29
   |
86 | use scroll::{Pread, Pwrite, SizeWith};
   |                             ^^^^^^^^ no `SizeWith` in the root

error[E0432]: unresolved import `scroll::SizeWith`
   --> deps\goblin\src\elf\program_header.rs:346:29
    |
346 | use scroll::{Pread, Pwrite, SizeWith};
    |                             ^^^^^^^^ no `SizeWith` in the root

error[E0432]: unresolved import `scroll::SizeWith`
   --> deps\goblin\src\elf\sym.rs:268:29
    |
268 | use scroll::{Pread, Pwrite, SizeWith};
    |                             ^^^^^^^^ no `SizeWith` in the root

error[E0432]: unresolved imports `scroll::IOread`, `scroll::IOwrite`, `scroll::SizeWith`
 --> deps\goblin\src\elf\note.rs:6:14
  |
6 | use scroll::{IOread, IOwrite, Pread, Pwrite, SizeWith};
  |              ^^^^^^  ^^^^^^^                 ^^^^^^^^ no `SizeWith` in the root
  |              |       |
  |              |       no `IOwrite` in the root
  |              no `IOread` in the root
  |
help: a similar name exists in the module
  |
6 | use scroll::{pread, IOwrite, Pread, Pwrite, SizeWith};
  |              ^^^^^
help: a similar name exists in the module
  |
6 | use scroll::{IOread, pwrite, Pread, Pwrite, SizeWith};
  |                      ^^^^^^

error[E0432]: unresolved import `scroll::SizeWith`
   --> deps\goblin\src\elf\reloc.rs:74:37
    |
74  |         use scroll::{Pread, Pwrite, SizeWith};
    |                                     ^^^^^^^^ no `SizeWith` in the root
...
225 |     elf_reloc!(u32, i32);
    |     --------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0432]: unresolved import `scroll::SizeWith`
   --> deps\goblin\src\elf\reloc.rs:74:37
    |
74  |         use scroll::{Pread, Pwrite, SizeWith};
    |                                     ^^^^^^^^ no `SizeWith` in the root
...
251 |     elf_reloc!(u64, i64);
    |     --------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0432]: unresolved import `log`
   --> deps\goblin\src\elf\dynamic.rs:451:17
    |
451 |             use log::warn;
    |                 ^^^ use of undeclared crate or module `log`

error[E0433]: failed to resolve: could not find `Pread` in `scroll`
   --> deps\goblin\src\elf\section_header.rs:10:28
    |
10  |             derive(scroll::Pread, scroll::Pwrite, scroll::SizeWith)
    |                            ^^^^^ could not find `Pread` in `scroll`
...
350 |     elf_section_header!(u32);
    |     ------------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0433]: failed to resolve: could not find `Pwrite` in `scroll`
   --> deps\goblin\src\elf\section_header.rs:10:43
    |
10  |             derive(scroll::Pread, scroll::Pwrite, scroll::SizeWith)
    |                                           ^^^^^^ could not find `Pwrite` in `scroll`
...
350 |     elf_section_header!(u32);
    |     ------------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0433]: failed to resolve: could not find `SizeWith` in `scroll`
   --> deps\goblin\src\elf\section_header.rs:10:59
    |
10  |             derive(scroll::Pread, scroll::Pwrite, scroll::SizeWith)
    |                                                           ^^^^^^^^ could not find `SizeWith` in `scroll`
...
350 |     elf_section_header!(u32);
    |     ------------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0433]: failed to resolve: could not find `Pread` in `scroll`
   --> deps\goblin\src\elf\section_header.rs:10:28
    |
10  |             derive(scroll::Pread, scroll::Pwrite, scroll::SizeWith)
    |                            ^^^^^ could not find `Pread` in `scroll`
...
361 |     elf_section_header!(u64);
    |     ------------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0433]: failed to resolve: could not find `Pwrite` in `scroll`
   --> deps\goblin\src\elf\section_header.rs:10:43
    |
10  |             derive(scroll::Pread, scroll::Pwrite, scroll::SizeWith)
    |                                           ^^^^^^ could not find `Pwrite` in `scroll`
...
361 |     elf_section_header!(u64);
    |     ------------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0433]: failed to resolve: could not find `SizeWith` in `scroll`
   --> deps\goblin\src\elf\section_header.rs:10:59
    |
10  |             derive(scroll::Pread, scroll::Pwrite, scroll::SizeWith)
    |                                                           ^^^^^^^^ could not find `SizeWith` in `scroll`
...
361 |     elf_section_header!(u64);
    |     ------------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0433]: failed to resolve: could not find `Pread` in `scroll`
   --> deps\goblin\src\elf\dynamic.rs:10:28
    |
10  |             derive(scroll::Pread, scroll::Pwrite, scroll::SizeWith)
    |                            ^^^^^ could not find `Pread` in `scroll`
...
779 |     elf_dyn!(u32);
    |     -------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0433]: failed to resolve: could not find `Pwrite` in `scroll`
   --> deps\goblin\src\elf\dynamic.rs:10:43
    |
10  |             derive(scroll::Pread, scroll::Pwrite, scroll::SizeWith)
    |                                           ^^^^^^ could not find `Pwrite` in `scroll`
...
779 |     elf_dyn!(u32);
    |     -------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0433]: failed to resolve: could not find `SizeWith` in `scroll`
   --> deps\goblin\src\elf\dynamic.rs:10:59
    |
10  |             derive(scroll::Pread, scroll::Pwrite, scroll::SizeWith)
    |                                                           ^^^^^^^^ could not find `SizeWith` in `scroll`
...
779 |     elf_dyn!(u32);
    |     -------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0433]: failed to resolve: could not find `Pread` in `scroll`
   --> deps\goblin\src\elf\dynamic.rs:10:28
    |
10  |             derive(scroll::Pread, scroll::Pwrite, scroll::SizeWith)
    |                            ^^^^^ could not find `Pread` in `scroll`
...
793 |     elf_dyn!(u64);
    |     -------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0433]: failed to resolve: could not find `Pwrite` in `scroll`
   --> deps\goblin\src\elf\dynamic.rs:10:43
    |
10  |             derive(scroll::Pread, scroll::Pwrite, scroll::SizeWith)
    |                                           ^^^^^^ could not find `Pwrite` in `scroll`
...
793 |     elf_dyn!(u64);
    |     -------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0433]: failed to resolve: could not find `SizeWith` in `scroll`
   --> deps\goblin\src\elf\dynamic.rs:10:59
    |
10  |             derive(scroll::Pread, scroll::Pwrite, scroll::SizeWith)
    |                                                           ^^^^^^^^ could not find `SizeWith` in `scroll`
...
793 |     elf_dyn!(u64);
    |     -------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot find derive macro `Pread` in this scope
  --> deps\goblin\src\elf\compression_header.rs:93:47
   |
93 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
   |                                               ^^^^^

error: cannot find derive macro `Pwrite` in this scope
  --> deps\goblin\src\elf\compression_header.rs:93:54
   |
93 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
   |                                                      ^^^^^^

error: cannot determine resolution for the derive macro `SizeWith`
  --> deps\goblin\src\elf\compression_header.rs:93:62
   |
93 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
   |                                                              ^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot find derive macro `Pread` in this scope
   --> deps\goblin\src\elf\compression_header.rs:128:47
    |
128 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                               ^^^^^

error: cannot find derive macro `Pwrite` in this scope
   --> deps\goblin\src\elf\compression_header.rs:128:54
    |
128 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                      ^^^^^^

error: cannot determine resolution for the derive macro `SizeWith`
   --> deps\goblin\src\elf\compression_header.rs:128:62
    |
128 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                              ^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot find derive macro `Pread` in this scope
   --> deps\goblin\src\elf\program_header.rs:353:47
    |
353 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                               ^^^^^

error: cannot find derive macro `Pwrite` in this scope
   --> deps\goblin\src\elf\program_header.rs:353:54
    |
353 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                      ^^^^^^

error: cannot determine resolution for the derive macro `SizeWith`
   --> deps\goblin\src\elf\program_header.rs:353:62
    |
353 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                              ^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot find derive macro `Pread` in this scope
   --> deps\goblin\src\elf\program_header.rs:387:47
    |
387 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                               ^^^^^

error: cannot find derive macro `Pwrite` in this scope
   --> deps\goblin\src\elf\program_header.rs:387:54
    |
387 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                      ^^^^^^

error: cannot determine resolution for the derive macro `SizeWith`
   --> deps\goblin\src\elf\program_header.rs:387:62
    |
387 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                              ^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot find derive macro `Pread` in this scope
   --> deps\goblin\src\elf\sym.rs:275:47
    |
275 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                               ^^^^^

error: cannot find derive macro `Pwrite` in this scope
   --> deps\goblin\src\elf\sym.rs:275:54
    |
275 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                      ^^^^^^

error: cannot determine resolution for the derive macro `SizeWith`
   --> deps\goblin\src\elf\sym.rs:275:62
    |
275 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                              ^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot find derive macro `Pread` in this scope
   --> deps\goblin\src\elf\sym.rs:305:47
    |
305 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                               ^^^^^

error: cannot find derive macro `Pwrite` in this scope
   --> deps\goblin\src\elf\sym.rs:305:54
    |
305 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                      ^^^^^^

error: cannot determine resolution for the derive macro `SizeWith`
   --> deps\goblin\src\elf\sym.rs:305:62
    |
305 |     #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                              ^^^^^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the macro `warn`
   --> deps\goblin\src\elf\dynamic.rs:459:25
    |
459 |                         warn!("Invalid DT_NEEDED {}", dynamic.d_val)
    |                         ^^^^
    |
    = note: import resolution is stuck, try simplifying macro imports

error: cannot find derive macro `Pread` in this scope
   --> deps\goblin\src\elf\reloc.rs:77:51
    |
77  |         #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                   ^^^^^
...
225 |     elf_reloc!(u32, i32);
    |     --------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot find derive macro `Pwrite` in this scope
   --> deps\goblin\src\elf\reloc.rs:77:58
    |
77  |         #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                          ^^^^^^
...
225 |     elf_reloc!(u32, i32);
    |     --------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot determine resolution for the derive macro `SizeWith`
   --> deps\goblin\src\elf\reloc.rs:77:66
    |
77  |         #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                                  ^^^^^^^^
...
225 |     elf_reloc!(u32, i32);
    |     --------------------- in this macro invocation
    |
    = note: import resolution is stuck, try simplifying macro imports
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot find derive macro `Pread` in this scope
   --> deps\goblin\src\elf\reloc.rs:89:51
    |
89  |         #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                   ^^^^^
...
225 |     elf_reloc!(u32, i32);
    |     --------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot find derive macro `Pwrite` in this scope
   --> deps\goblin\src\elf\reloc.rs:89:58
    |
89  |         #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                          ^^^^^^
...
225 |     elf_reloc!(u32, i32);
    |     --------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot determine resolution for the derive macro `SizeWith`
   --> deps\goblin\src\elf\reloc.rs:89:66
    |
89  |         #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                                  ^^^^^^^^
...
225 |     elf_reloc!(u32, i32);
    |     --------------------- in this macro invocation
    |
    = note: import resolution is stuck, try simplifying macro imports
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot find derive macro `Pread` in this scope
   --> deps\goblin\src\elf\reloc.rs:77:51
    |
77  |         #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                   ^^^^^
...
251 |     elf_reloc!(u64, i64);
    |     --------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot find derive macro `Pwrite` in this scope
   --> deps\goblin\src\elf\reloc.rs:77:58
    |
77  |         #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                          ^^^^^^
...
251 |     elf_reloc!(u64, i64);
    |     --------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot determine resolution for the derive macro `SizeWith`
   --> deps\goblin\src\elf\reloc.rs:77:66
    |
77  |         #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                                  ^^^^^^^^
...
251 |     elf_reloc!(u64, i64);
    |     --------------------- in this macro invocation
    |
    = note: import resolution is stuck, try simplifying macro imports
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot find derive macro `Pread` in this scope
   --> deps\goblin\src\elf\reloc.rs:89:51
    |
89  |         #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                   ^^^^^
...
251 |     elf_reloc!(u64, i64);
    |     --------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot find derive macro `Pwrite` in this scope
   --> deps\goblin\src\elf\reloc.rs:89:58
    |
89  |         #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                          ^^^^^^
...
251 |     elf_reloc!(u64, i64);
    |     --------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot determine resolution for the derive macro `SizeWith`
   --> deps\goblin\src\elf\reloc.rs:89:66
    |
89  |         #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, SizeWith))]
    |                                                                  ^^^^^^^^
...
251 |     elf_reloc!(u64, i64);
    |     --------------------- in this macro invocation
    |
    = note: import resolution is stuck, try simplifying macro imports
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: cannot find derive macro `Pread` in this scope
  --> deps\goblin\src\elf\note.rs:58:43
   |
58 | #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, IOread, IOwrite, SizeWith))]
   |                                           ^^^^^

error: cannot find derive macro `Pwrite` in this scope
  --> deps\goblin\src\elf\note.rs:58:50
   |
58 | #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, IOread, IOwrite, SizeWith))]
   |                                                  ^^^^^^

error: cannot determine resolution for the derive macro `IOread`
  --> deps\goblin\src\elf\note.rs:58:58
   |
58 | #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, IOread, IOwrite, SizeWith))]
   |                                                          ^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the derive macro `IOwrite`
  --> deps\goblin\src\elf\note.rs:58:66
   |
58 | #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, IOread, IOwrite, SizeWith))]
   |                                                                  ^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the derive macro `SizeWith`
  --> deps\goblin\src\elf\note.rs:58:75
   |
58 | #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, IOread, IOwrite, SizeWith))]
   |                                                                           ^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot find derive macro `Pread` in this scope
  --> deps\goblin\src\elf\note.rs:72:43
   |
72 | #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, IOread, IOwrite, SizeWith))]
   |                                           ^^^^^

error: cannot find derive macro `Pwrite` in this scope
  --> deps\goblin\src\elf\note.rs:72:50
   |
72 | #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, IOread, IOwrite, SizeWith))]
   |                                                  ^^^^^^

error: cannot determine resolution for the derive macro `IOread`
  --> deps\goblin\src\elf\note.rs:72:58
   |
72 | #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, IOread, IOwrite, SizeWith))]
   |                                                          ^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the derive macro `IOwrite`
  --> deps\goblin\src\elf\note.rs:72:66
   |
72 | #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, IOread, IOwrite, SizeWith))]
   |                                                                  ^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot determine resolution for the derive macro `SizeWith`
  --> deps\goblin\src\elf\note.rs:72:75
   |
72 | #[cfg_attr(feature = "alloc_user", derive(Pread, Pwrite, IOread, IOwrite, SizeWith))]
   |                                                                           ^^^^^^^^
   |
   = note: import resolution is stuck, try simplifying macro imports

error: cannot find macro `debug` in this scope
   --> deps\goblin\src\elf\note.rs:105:17
    |
105 |                 debug!("NoteIterator - {:#x}", self.offset);
    |                 ^^^^^

error: cannot find macro `debug` in this scope
   --> deps\goblin\src\elf\note.rs:206:13
    |
206 |             debug!("{:?} - {:#x}", header, *offset);
    |             ^^^^^

error: cannot find macro `debug` in this scope
   --> deps\goblin\src\elf\note.rs:211:13
    |
211 |             debug!("note name {} - {:#x}", name, *offset);
    |             ^^^^^

error: cannot find macro `debug` in this scope
   --> deps\goblin\src\elf\note.rs:214:13
    |
214 |             debug!("desc {:?} - {:#x}", desc, *offset);
    |             ^^^^^

warning: unused imports: `Pread`, `Pwrite`
   --> deps\goblin\src\elf\reloc.rs:74:22
    |
74  |         use scroll::{Pread, Pwrite, SizeWith};
    |                      ^^^^^  ^^^^^^
...
225 |     elf_reloc!(u32, i32);
    |     ---------------------
    |     |
    |     in this macro invocation
    |     in this macro invocation
    |
    = note: `#[warn(unused_imports)]` on by default
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: unused imports: `Pread`, `Pwrite`
   --> deps\goblin\src\elf\reloc.rs:74:22
    |
74  |         use scroll::{Pread, Pwrite, SizeWith};
    |                      ^^^^^  ^^^^^^
...
251 |     elf_reloc!(u64, i64);
    |     ---------------------
    |     |
    |     in this macro invocation
    |     in this macro invocation
    |
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

warning: unused import: `Pwrite`
 --> deps\goblin\src\elf\note.rs:6:38
  |
6 | use scroll::{IOread, IOwrite, Pread, Pwrite, SizeWith};
  |                                      ^^^^^^

error[E0277]: the trait bound `compression_header32::CompressionHeader: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\compression_header.rs:234:28
    |
234 |                     (bytes.pread_with::<compression_header32::CompressionHeader>(0, le)?.into(), compression_header32::SIZEOF_CHDR)
    |                            ^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `compression_header32::CompressionHeader`

error[E0277]: the trait bound `compression_header64::CompressionHeader: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\compression_header.rs:237:28
    |
237 |                     (bytes.pread_with::<compression_header64::CompressionHeader>(0, le)?.into(), compression_header64::SIZEOF_CHDR)
    |                            ^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `compression_header64::CompressionHeader`

error[E0277]: the trait bound `compression_header32::CompressionHeader: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\compression_header.rs:251:30
    |
251 |                     Ok(bytes.pwrite_with(chdr, 0, le)?)
    |                              ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `compression_header32::CompressionHeader`

error[E0277]: the trait bound `compression_header64::CompressionHeader: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\compression_header.rs:255:30
    |
255 |                     Ok(bytes.pwrite_with(chdr, 0, le)?)
    |                              ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `compression_header64::CompressionHeader`

error[E0277]: the trait bound `compression_header32::CompressionHeader: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\compression_header.rs:266:27
    |
266 |                     bytes.pwrite_with(chdr, 0, le).unwrap();
    |                           ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `compression_header32::CompressionHeader`

error[E0277]: the trait bound `compression_header64::CompressionHeader: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\compression_header.rs:270:27
    |
270 |                     bytes.pwrite_with(chdr, 0, le).unwrap();
    |                           ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `compression_header64::CompressionHeader`

error[E0277]: the trait bound `program_header32::ProgramHeader: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\program_header.rs:206:28
    |
206 |                     (bytes.pread_with::<program_header32::ProgramHeader>(0, le)?.into(), program_header32::SIZEOF_PHDR)
    |                            ^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `program_header32::ProgramHeader`

error[E0277]: the trait bound `program_header64::ProgramHeader: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\program_header.rs:209:28
    |
209 |                     (bytes.pread_with::<program_header64::ProgramHeader>(0, le)?.into(), program_header64::SIZEOF_PHDR)
    |                            ^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `program_header64::ProgramHeader`

error[E0277]: the trait bound `program_header32::ProgramHeader: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\program_header.rs:223:30
    |
223 |                     Ok(bytes.pwrite_with(phdr, 0, le)?)
    |                              ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `program_header32::ProgramHeader`

error[E0277]: the trait bound `program_header64::ProgramHeader: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\program_header.rs:227:30
    |
227 |                     Ok(bytes.pwrite_with(phdr, 0, le)?)
    |                              ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `program_header64::ProgramHeader`

error[E0277]: the trait bound `program_header32::ProgramHeader: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\program_header.rs:313:23
    |
313 |                 bytes.gread_inout_with(offset, &mut program_headers, ctx)?;
    |                       ^^^^^^^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `program_header32::ProgramHeader`
...
379 |     elf_program_header_std_impl!(u32);
    |     ---------------------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `program_header64::ProgramHeader: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\program_header.rs:313:23
    |
313 |                 bytes.gread_inout_with(offset, &mut program_headers, ctx)?;
    |                       ^^^^^^^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `program_header64::ProgramHeader`
...
413 |     elf_program_header_std_impl!(u64);
    |     ---------------------------------- in this macro invocation
    |
    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `section_header32::SectionHeader: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\section_header.rs:528:28
    |
528 |                     (bytes.pread_with::<section_header32::SectionHeader>(0, le)?.into(), section_header32::SIZEOF_SHDR)
    |                            ^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `section_header32::SectionHeader`

error[E0277]: the trait bound `section_header64::SectionHeader: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\section_header.rs:531:28
    |
531 |                     (bytes.pread_with::<section_header64::SectionHeader>(0, le)?.into(), section_header64::SIZEOF_SHDR)
    |                            ^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `section_header64::SectionHeader`

error[E0277]: the trait bound `section_header32::SectionHeader: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\section_header.rs:545:30
    |
545 |                     Ok(bytes.pwrite_with(shdr, 0, le)?)
    |                              ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `section_header32::SectionHeader`

error[E0277]: the trait bound `section_header64::SectionHeader: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\section_header.rs:549:30
    |
549 |                     Ok(bytes.pwrite_with(shdr, 0, le)?)
    |                              ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `section_header64::SectionHeader`

error[E0277]: the trait bound `section_header32::SectionHeader: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\section_header.rs:560:27
    |
560 |                     bytes.pwrite_with(shdr, 0, le).unwrap();
    |                           ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `section_header32::SectionHeader`

error[E0277]: the trait bound `section_header64::SectionHeader: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\section_header.rs:564:27
    |
564 |                     bytes.pwrite_with(shdr, 0, le).unwrap();
    |                           ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `section_header64::SectionHeader`

error[E0277]: the trait bound `sym32::Sym: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\sym.rs:444:28
    |
444 |                     (bytes.pread_with::<sym32::Sym>(0, le)?.into(), sym32::SIZEOF_SYM)
    |                            ^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `sym32::Sym`

error[E0277]: the trait bound `sym64::Sym: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\sym.rs:447:28
    |
447 |                     (bytes.pread_with::<sym64::Sym>(0, le)?.into(), sym64::SIZEOF_SYM)
    |                            ^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `sym64::Sym`

error[E0277]: the trait bound `sym32::Sym: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\sym.rs:461:30
    |
461 |                     Ok(bytes.pwrite_with(sym, 0, le)?)
    |                              ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `sym32::Sym`

error[E0277]: the trait bound `sym64::Sym: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\sym.rs:465:30
    |
465 |                     Ok(bytes.pwrite_with(sym, 0, le)?)
    |                              ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `sym64::Sym`

error[E0277]: the trait bound `sym32::Sym: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\sym.rs:477:27
    |
477 |                     bytes.pwrite_with(sym, 0, le).unwrap();
    |                           ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `sym32::Sym`

error[E0277]: the trait bound `sym64::Sym: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\sym.rs:481:27
    |
481 |                     bytes.pwrite_with(sym, 0, le).unwrap();
    |                           ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `sym64::Sym`

error[E0277]: the trait bound `dyn32::Dyn: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\dynamic.rs:375:28
    |
375 |                     (bytes.pread_with::<dyn32::Dyn>(0, le)?.into(), dyn32::SIZEOF_DYN)
    |                            ^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `dyn32::Dyn`

error[E0277]: the trait bound `dyn64::Dyn: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\dynamic.rs:378:28
    |
378 |                     (bytes.pread_with::<dyn64::Dyn>(0, le)?.into(), dyn64::SIZEOF_DYN)
    |                            ^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `dyn64::Dyn`

error[E0277]: the trait bound `dyn32::Dyn: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\dynamic.rs:392:30
    |
392 |                     Ok(bytes.pwrite_with(dynamic, 0, le)?)
    |                              ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `dyn32::Dyn`

error[E0277]: the trait bound `dyn64::Dyn: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\dynamic.rs:396:30
    |
396 |                     Ok(bytes.pwrite_with(dynamic, 0, le)?)
    |                              ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `dyn64::Dyn`

error[E0277]: the trait bound `reloc32::Rela: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\reloc.rs:328:32
    |
328 |                         (bytes.pread_with::<reloc32::Rela>(0, le)?.into(), reloc32::SIZEOF_RELA)
    |                                ^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `reloc32::Rela`

error[E0277]: the trait bound `reloc32::Rel: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\reloc.rs:330:32
    |
330 |                         (bytes.pread_with::<reloc32::Rel>(0, le)?.into(), reloc32::SIZEOF_REL)
    |                                ^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `reloc32::Rel`

error[E0277]: the trait bound `reloc64::Rela: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\reloc.rs:335:32
    |
335 |                         (bytes.pread_with::<reloc64::Rela>(0, le)?.into(), reloc64::SIZEOF_RELA)
    |                                ^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `reloc64::Rela`

error[E0277]: the trait bound `reloc64::Rel: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\reloc.rs:337:32
    |
337 |                         (bytes.pread_with::<reloc64::Rel>(0, le)?.into(), reloc64::SIZEOF_REL)
    |                                ^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `reloc64::Rel`

error[E0277]: the trait bound `reloc32::Rela: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\reloc.rs:354:34
    |
354 |                         Ok(bytes.pwrite_with(rela, 0, le)?)
    |                                  ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `reloc32::Rela`

error[E0277]: the trait bound `reloc32::Rel: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\reloc.rs:357:34
    |
357 |                         Ok(bytes.pwrite_with(rel, 0, le)?)
    |                                  ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `reloc32::Rel`

error[E0277]: the trait bound `reloc64::Rela: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\reloc.rs:363:34
    |
363 |                         Ok(bytes.pwrite_with(rela, 0, le)?)
    |                                  ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `reloc64::Rela`

error[E0277]: the trait bound `reloc64::Rel: TryIntoCtx<_>` is not satisfied
   --> deps\goblin\src\elf\reloc.rs:366:34
    |
366 |                         Ok(bytes.pwrite_with(rel, 0, le)?)
    |                                  ^^^^^^^^^^^ the trait `TryIntoCtx<_>` is not implemented for `reloc64::Rel`

error[E0277]: the trait bound `Nhdr32: TryFromCtx<'_, _>` is not satisfied
   --> deps\goblin\src\elf\note.rs:202:34
    |
202 |                     4|8 => bytes.gread_with::<Nhdr32>(offset, ctx.le)?.into(),
    |                                  ^^^^^^^^^^ the trait `TryFromCtx<'_, _>` is not implemented for `Nhdr32`

warning: unused import: `Pread`
  --> deps\goblin\src\elf\compression_header.rs:86:14
   |
86 | use scroll::{Pread, Pwrite, SizeWith};
   |              ^^^^^

warning: unused import: `Pwrite`
  --> deps\goblin\src\elf\compression_header.rs:86:21
   |
86 | use scroll::{Pread, Pwrite, SizeWith};
   |                     ^^^^^^

warning: unused import: `Pread`
   --> deps\goblin\src\elf\program_header.rs:346:14
    |
346 | use scroll::{Pread, Pwrite, SizeWith};
    |              ^^^^^

warning: unused import: `Pwrite`
   --> deps\goblin\src\elf\program_header.rs:346:21
    |
346 | use scroll::{Pread, Pwrite, SizeWith};
    |                     ^^^^^^

error: aborting due to 101 previous errors; 7 warnings emitted

Some errors have detailed explanations: E0277, E0432, E0433.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `goblin`

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed

lygstate

comment created time in 5 days

issue commentm4b/goblin

feature request, remove the dependes on log or make it optional.

So scroll itself will never have an external dep, because I’m the owner and I say so :) (I guess never say never but I don’t see it happening, maybe uuid was talked about but I’m not sure and doesn’t look like it’ll happen); grtting goblin off of scroll derive is possible but it would be a lot of work and I’m not sure I see the value.

Plain will never have a dep, at least the author promised me and I said ok I’ll take the dep but if it adds a dep I’ll remove the methods it uses and goes back to implementation similar to what it had before inside the crate.

So that leaves log. It’s possible to do a survey to see the effort to make log optional but it would be pretty invasive and not make the internals so nice, not sure, but I may be convinced ?

Is something turning on the optional log deps in your build ?

After reading things about scroll, it's like a macro process engine, so have it as a deps not a problem, won't cause code bloating. Only the deps are limited, the only issue are log, I'll try to figure out use features to disable log totally.

lygstate

comment created time in 5 days

issue commentm4b/goblin

feature request, remove the dependes on log or make it optional.

Looks like the functionality is half implemented: https://github.com/m4b/goblin/search?q=log&type=

@lygstate if you want you could open up a PR making log fully optional.

Might be better to create a macro like glog which includes the cfg in every log statement.

Anyway that should be enough for a start at least ? :)

Thanks, make sense, log is not a key component for goblin, I'll try PR when I have the time, thanks a lot

lygstate

comment created time in 5 days

issue commentm4b/goblin

feature request, remove the dependes on log or make it optional.

Looks like the functionality is half implemented: https://github.com/m4b/goblin/search?q=log&type=

@lygstate if you want you could open up a PR making log fully optional.

Might be better to create a macro like glog which includes the cfg in every log statement.

Anyway that should be enough for a start at least ? :)

lygstate

comment created time in 5 days

issue commentm4b/goblin

feature request, remove the dependes on log or make it optional.

Actually it looks like log already is optional though I don’t know to what extent at the moment it disables functionality. I would have to check :)

lygstate

comment created time in 5 days

more