rust-orphan-rules
azure-sdk-for-net
Our great sponsors
rust-orphan-rules | azure-sdk-for-net | |
---|---|---|
11 | 22 | |
180 | 4,981 | |
- | 1.0% | |
0.0 | 10.0 | |
about 5 years ago | 1 day ago | |
C# | ||
Apache License 2.0 | MIT License |
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.
rust-orphan-rules
- Coherence and Orphan Rules in Rust: An unofficial, experimental place for docum
- Conflicting trait implementation, but there shouldn't be
-
Fellow Rust enthusiasts: What "sucks" about Rust?
Well, unless someone comes up with better, compatible rules, the orpan rules are gonna stick around.
-
The langage for the next 40 years of engine dev
Additionally there are other issues with rust currently. Compile time code (ala constexpr) is not up to par with C++20 (not really close). The const generic aren't as powerful as C++20 which added non primitive non type template parameters (though with you stuck with C++14, it actually is significantly better than what you have, again, if you're going to use C++, just use 20). Generics accepting closures is a bit more of an ordeal in rust, compared to C++. Also C++'s Duck Typed templates allow for some uncharacteristically strong typing compared to what is expressible in Rust generics currently. Now, duck typed templates do have major downsides, for example the entire feature of concepts is completely irrelevant in rust, but required for sane DTT type bounds, but they also have major upsides. Rust currently doesn't have "negative trait bounds", basically "This objected does not implement this trait, or std::enable_if> or the equivalent concepts implementation. Rust also doesn't have trait specializations, basically template specialization. Do note all features I've talked about to this point have nightly options, they just are at various stages of being stable/complete. Another issue is the orphan rule, though this is kind of a problem in C++ too in some respects, and that's unlikely to change drastically, since there are legitimate reasons for it's existence. For a lot of code none of these things are big deals, others they are, which is why you find inconsistent feed back on these issues.
-
What are Rust’s biggest weaknesses?
Not that simple... hence why Orphan rule is still in-place. The struct wrapper was implemented in Rust as a temporary safe work-around. However, they are making progress on a solution: https://github.com/Ixrec/rust-orphan-rules/issues/1
-
Hey Rustaceans! Got a question? Ask here! (46/2022)!
That's still not an entirely complete explanation because there's more nuanced situations which aren't completely foreign but are foreign enough that if allowed, two crates could write the same impls. Some of the definitions are still unofficial as far as am I'm aware. For the best reference I’ve seen so far see this for more details.
-
Design Patterns with Rust Types
In our crate the compiler doesn't know when calling MyTrait methods on MyStruct whether to use the implementation defined in crate 3 or crate 4! Rust has a set of orphan rules to prevent this situation from happening.
-
De/serialize an external crate's struct
Sadly because of the rusts orphan rule you cannot implement a Trait on a Type where you do not own one or the other. So, apart from upstream contributions your only options are either a new Trait or a new Type.
-
Is the orphan rule the only solution?
If anyone is looking for additional background about orphan rules, check out https://github.com/Ixrec/rust-orphan-rules
- Methods for Array Initialization in Rust
azure-sdk-for-net
-
Best practices for integrating the Azure Storage SDK into your .NET applications
Microsoft.Extensions.Azure is an extension library that allows for uniform integration of the Azure SDK into your applications, while giving you the necessary flexibility to customize the behavior of the created Azure SDK clients. The use of named clients is particularly convenient for supporting multiple instances of the same Azure resource type. You also get free logging as the Azure SDK events are automatically forwarded to an ILogger instance.
-
Improving Azure AI Search results with semantic search
Semantic Search sample
-
Doing bulk azure table upserts with Azure.Data.Tables
You should be able to do something like these examples, as long as they have the same primary key.
-
Fellow Rust enthusiasts: What "sucks" about Rust?
So how do you download part of a blob from Azure? Well, in https://github.com/Azure/azure-sdk-for-net/releases/tag/Azure.Storage.Blobs_12.12.0 there's a function that looks like this:
- Example of a well designed modern .Net SDK
-
User Delegated SAS
Now granted these tokens do have some limitations as pointed out in the docs. But based on this answer from an Azure dev on Github: https://github.com/Azure/azure-sdk-for-net/issues/18108
-
How to use Azurite for testing Azure Storage in dotnet?
The testing helpers have more to it than disabling SSL but are not present on NuGet. So naturally, I raised an issue to the SDK team if they have any plans in that direction. Unfortunately, at this point, they have no interest in releasing their internal test tooling. The techniques I mentioned thus far can be used standalone. I, however, felt this was an excellent opportunity to create my first NuGet Package. The package cannot assume how anybody runs Azurite, so I introduced two classes. You can use AzuriteAccountBuilder to configure how things are run, like the account or the ports being used. The AzuriteAccount class provides access to stuff like the connection string. For convenience the package also creates helper methods to create BlobServiceClient, TableServiceClient or QueueServiceClient form an AzuriteAccount.
-
Azure WebJobs, Service Bus and Managed Identity: Lesson learned
This seems either a bug in the Azure SDK or in the Service Bus itself, I'm not the only one that ran into this issue and here you can find additional information.
-
Obtain Azure access token from a local Docker container
Q: I can obtain tokens locally using Azure CLI and Azure.Identity library when I run on the host machine, but not when inside Docker container because it doesn't have Azure CLI installed! What do I do? A: This has already been asked about by many people here with various interesting solutions here and here.
- SCOM 2022 Teams Integration
What are some alternatives?
cargo-release - Cargo subcommand `release`: everything about releasing a rust crate.
steampipe - Zero-ETL, infinite possibilities. Live query APIs, code & more with SQL. No DB required.
pollster - A minimal async executor that lets you block on a future
ClrPro.AzureFX - The useful extensions that helps to work with Azure.
keepass-rs - Rust KeePass database file parser for KDB, KDBX3 and KDBX4, with experimental support for KDBX4 writing.
azure-sdk-for-java - This repository is for active development of the Azure SDK for Java. For consumers of the SDK we recommend visiting our public developer docs at https://docs.microsoft.com/java/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-java.
dislike-in-rust - A list of the few things I don't like about rust
aad-pod-identity - [DEPRECATED] Assign Azure Active Directory Identities to Kubernetes applications.
getrandom - A small cross-platform library for retrieving random data from (operating) system source
azure-sdk-for-python - This repository is for active development of the Azure SDK for Python. For consumers of the SDK we recommend visiting our public developer docs at https://docs.microsoft.com/python/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-python.
rust-delegate - Rust method delegation with less boilerplate
spec - CloudEvents Specification