Add deprecated RngCore/TryRngCore forwarding traits
#70
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Since
RngCorehas been renamed toRng, andTryRngCoretoTryRng, this adds some deprecated stub traits with the old names that have anoteabout the new names.They have supertrait bounds on the new names, along with blanket impls for the new names:
RngCore: RngTryRngCore: TryRngThese can be released in v0.10.x and removed before v1.x.
Though they don't have any methods, due to an odd quirk of how Rust resolves methods in a generic context (effectively uniting a trait and all of its supertraits into a single logical method table), the methods of the new traits are callable from a generic context even without the new traits in the bounds or even in scope whatsoever:
This will actually compile with the following warnings:
I think this will help people upgrade because it will allow a significant amount of code to continue to compile while also informing people of the new names and what code needs to be changed.