gflags
Command line flags library that does not require a central list of all the flags (by dtolnay)
typetag
Serde serializable and deserializable trait objects (by dtolnay)
gflags | typetag | |
---|---|---|
1 | 9 | |
47 | 547 | |
- | - | |
6.3 | 5.8 | |
over 2 years ago | over 2 years ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gflags
Posts with mentions or reviews of gflags.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-02-03.
-
dtolnay/inventory got archived, is there an alternative ?
@dtolnay I noticed you just archived the repos for inventory, linkme, gflags, and typetag, which I assume implies a deprecation.
typetag
Posts with mentions or reviews of typetag.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-02-06.
-
How to save a Box<dyn Trait> varialble to a local file?
The error message is pretty clear: this behavior has just not been implemented in typetag. There's even an open issue discussing why this is difficult to do.
- TypeTag/inventory/linkme are unarchived
-
Mapping between JSON and a list of structs which implement a trait
So something like this then? https://github.com/dtolnay/typetag
-
Ideal way of converting trait objects into other trait objects
My thought process is I will use Serde deserialization and typetag so that I can get a Vec> from the configuration file. Then I just have to figure out a way to construct Vec> from it and I will be set.
-
Question on the future of inventory, typetag, linkme, ctor, and related crates affected by #47384
I am using the typetag crate in a project. I have a use case that is very similar to the example laid out in the crate's documentation. Given the issue being discussed in #47384, it seems evident that using typetag would be a bad idea, for the time being.
-
dtolnay/inventory got archived, is there an alternative ?
@dtolnay I noticed you just archived the repos for inventory, linkme, gflags, and typetag, which I assume implies a deprecation.
-
Instantiate a struct from TypeId
You're right, you'd basically need some kind of hashmap, that gets initialized before the application starts. It might work with a similar approach like in typetag. typetag is a library that allows (de)serializing into/from dynamic objects. But it requires annotating each type you're planning to use with an attribute.
-
Untapped potential in Rust's type system
This allows me define methods on both borrowed (`Message<&str>`) and owned (`Message`) versions without issues. When remaining inside the process, the borrowed version is passed around and when sent across the process boundaries I can deserialize it to an owned version. This problem prevent me from using Typetag and I am still not sure how it should be solved.
[0]: https://github.com/dtolnay/typetag
-
Serialize arbitrary struct using traits?
ended up using https://github.com/dtolnay/typetag which uses this under the hood, so thanks!
What are some alternatives?
When comparing gflags and typetag you can also consider the following projects:
inventory - Typed distributed plugin registration
linkme - Safe cross-platform linker shenanigans
rfcs - RFCs for changes to Rust