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

Remove dependency on byteorder #494

Merged
merged 1 commit into from
May 9, 2020
Merged

Conversation

alexcrichton
Copy link
Contributor

This commit remove gimli's dependency on the byteorder crate. While
this crate is quite small and general not expensive as a dependency, I'm
curious to eventually enable the gimli-symbolize feature of the
backtrace crate in the standard library. The standard library has
odd technical restrictions about what crates can be used in the standard
library, namely that nonstandard Cargo.toml configuration is required
to get the build working correctly. In order to inflict this oddness on
as few crates as possible, and to minimize the amount of auditing the
standard library needs to do, I'm hoping to remove most dependencies
from the gimli-symbolize dependency tree of the backtrace crate.

The usage of byteorder in gimli was quite light and pretty easy to
remove, especially now that {to,from}_{le,be}_bytes methods have been
stable on integers from the standard library for some time now!

This commit remove `gimli`'s dependency on the `byteorder` crate. While
this crate is quite small and general not expensive as a dependency, I'm
curious to eventually enable the `gimli-symbolize` feature of the
`backtrace` crate in the standard library. The standard library has
odd technical restrictions about what crates can be used in the standard
library, namely that nonstandard `Cargo.toml` configuration is required
to get the build working correctly. In order to inflict this oddness on
as few crates as possible, and to minimize the amount of auditing the
standard library needs to do, I'm hoping to remove most dependencies
from the `gimli-symbolize` dependency tree of the `backtrace` crate.

The usage of `byteorder` in `gimli` was quite light and pretty easy to
remove, especially now that `{to,from}_{le,be}_bytes` methods have been
stable on integers from the standard library for some time now!
alexcrichton added a commit to alexcrichton/gimli that referenced this pull request May 7, 2020
This is similarly motivated as gimli-rs#494, where the `backtrace` crate will
transitively use the `read` feature of `gimli`, so this is intended to
prune the dependencies of that dependency tree. This makes the
`fallible-iterator` feature optional even when the `read` feature is
activated.
alexcrichton added a commit to alexcrichton/gimli that referenced this pull request May 7, 2020
This is similarly motivated as gimli-rs#494, where the `backtrace` crate will
transitively use the `read` feature of `gimli`, so this is intended to
prune the dependencies of that dependency tree. This makes the
`fallible-iterator` feature optional even when the `read` feature is
activated.
alexcrichton added a commit to alexcrichton/gimli that referenced this pull request May 7, 2020
This commit removes `smallvec` as a dependency of the `read` feature of
this crate. This is an extension of gimli-rs#494 to help make `gimli` easier to
include into the standard library. The `smallvec` crate was only used in
one location inside of `gimli`, in `Abbreviation` parsing. This was
converted to a manual inline small-vector along with a new type
`Attributes` to wrap this up. This also removes `smallvec` from the
public API of `gimli` to allow future changes to the representation if
necessary.
alexcrichton added a commit to alexcrichton/gimli that referenced this pull request May 7, 2020
This commit removes `smallvec` as a dependency of the `read` feature of
this crate. This is an extension of gimli-rs#494 to help make `gimli` easier to
include into the standard library. The `smallvec` crate was only used in
one location inside of `gimli`, in `Abbreviation` parsing. This was
converted to a manual inline small-vector along with a new type
`Attributes` to wrap this up. This also removes `smallvec` from the
public API of `gimli` to allow future changes to the representation if
necessary.
alexcrichton added a commit to alexcrichton/gimli that referenced this pull request May 7, 2020
This commit removes the `arrayvec` dependency from `gimli` to continue
the work started in gimli-rs#494. The goal here is to absolutely minimize the
number of dependencies (ideally zero) when using only the bare bones of
the crate.
alexcrichton added a commit to alexcrichton/gimli that referenced this pull request May 7, 2020
This is similarly motivated as gimli-rs#494, where the `backtrace` crate will
transitively use the `read` feature of `gimli`, so this is intended to
prune the dependencies of that dependency tree. This makes the
`fallible-iterator` feature optional even when the `read` feature is
activated.
alexcrichton added a commit to alexcrichton/gimli that referenced this pull request May 7, 2020
This commit removes the `arrayvec` dependency from `gimli` to continue
the work started in gimli-rs#494. The goal here is to absolutely minimize the
number of dependencies (ideally zero) when using only the bare bones of
the crate.
alexcrichton added a commit to alexcrichton/gimli that referenced this pull request May 8, 2020
This commit removes `smallvec` as a dependency of the `read` feature of
this crate. This is an extension of gimli-rs#494 to help make `gimli` easier to
include into the standard library. The `smallvec` crate was only used in
one location inside of `gimli`, in `Abbreviation` parsing. This was
converted to a manual inline small-vector along with a new type
`Attributes` to wrap this up. This also removes `smallvec` from the
public API of `gimli` to allow future changes to the representation if
necessary.
@philipc philipc merged commit 68a4fdb into gimli-rs:master May 9, 2020
alexcrichton added a commit to alexcrichton/gimli that referenced this pull request May 9, 2020
This commit removes the `arrayvec` dependency from `gimli` to continue
the work started in gimli-rs#494. The goal here is to absolutely minimize the
number of dependencies (ideally zero) when using only the bare bones of
the crate.
alexcrichton added a commit to alexcrichton/gimli that referenced this pull request May 9, 2020
This commit removes the `arrayvec` dependency from `gimli` to continue
the work started in gimli-rs#494. The goal here is to absolutely minimize the
number of dependencies (ideally zero) when using only the bare bones of
the crate.
alexcrichton added a commit to alexcrichton/gimli that referenced this pull request May 9, 2020
This commit removes `smallvec` as a dependency of the `read` feature of
this crate. This is an extension of gimli-rs#494 to help make `gimli` easier to
include into the standard library. The `smallvec` crate was only used in
one location inside of `gimli`, in `Abbreviation` parsing. This was
converted to a manual inline small-vector along with a new type
`Attributes` to wrap this up. This also removes `smallvec` from the
public API of `gimli` to allow future changes to the representation if
necessary.
alexcrichton added a commit to alexcrichton/gimli that referenced this pull request May 9, 2020
This commit removes `smallvec` as a dependency of the `read` feature of
this crate. This is an extension of gimli-rs#494 to help make `gimli` easier to
include into the standard library. The `smallvec` crate was only used in
one location inside of `gimli`, in `Abbreviation` parsing. This was
converted to a manual inline small-vector along with a new type
`Attributes` to wrap this up. This also removes `smallvec` from the
public API of `gimli` to allow future changes to the representation if
necessary.
alexcrichton added a commit to alexcrichton/gimli that referenced this pull request May 10, 2020
This commit removes `smallvec` as a dependency of the `read` feature of
this crate. This is an extension of gimli-rs#494 to help make `gimli` easier to
include into the standard library. The `smallvec` crate was only used in
one location inside of `gimli`, in `Abbreviation` parsing. This was
converted to a manual inline small-vector along with a new type
`Attributes` to wrap this up. This also removes `smallvec` from the
public API of `gimli` to allow future changes to the representation if
necessary.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants