std.digest: remove wrong use of scope#4549
Merged
andralex merged 1 commit intodlang:masterfrom Jul 3, 2016
Merged
Conversation
| * This is a convenience function to calculate the hash of a value using the OOP API. | ||
| */ | ||
| final @trusted nothrow ubyte[] digest(scope const(void[])[] data...) | ||
| final @trusted nothrow ubyte[] digest(const(void[])[] data...) |
Contributor
There was a problem hiding this comment.
This one doesn't look wrong. It calls put on the individual void[]s. put's parameter is scope, so it guarantees not to escape the void[]. finish can't have a reference into data then which it could escape.
This hinges on put's scope being correct, I guess.
Member
Author
There was a problem hiding this comment.
It's wrong because the implementation is returning its argument. It's exactly the sort of thing scope does not allow.
Contributor
There was a problem hiding this comment.
It's wrong because the implementation is returning its argument.
But it doesn't. It returns this.finish().
Contributor
There was a problem hiding this comment.
I've made a PR to revert this line as I think this was a mistake. #4552
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Returning scope variables doesn't work. This is a blocker for dlang/dmd#5903