I was told that:
[dependencies] pnet = "0.21.0"
Is identical to specifying:
[depenencies] [dependencies.pnet] version = "0.21.0"
However, this does not seem to be the case because with libpnet, when I specify the former, there are build errors about code missing.
However, there was a situation in which I did use:
[dependencies.pnet] version = "0.21.0"
And I tried to use a symbol from
pnet_datalink, and that also threw build errors until I also did this:
[dependencies] pnet_datalink = "whatever_version" [dependencies.pnet] version = "0.21.0"
Then, I was able to run the program fine. At this point, I am thoroughly confused and have no idea what’s really going on here. Additionally, it doesn’t help that the crate is supposedly called
libpnet but is called
pnet on crates.io . Finally, I don’t understand the relationship here between
pnet_datalink for example… They seem to be separate crates but also the same crate??? Can someone with more experience clear this up please?