http://d.puremagic.com/issues/show_bug.cgi?id=9102



--- Comment #9 from Johannes Pfau <[email protected]> 2013-02-25 11:26:32 
PST ---
> Well, the problem with this is, you disable legitimate copies.  For example, 
> if
> I wanted to save the current state because the next few bytes passed in may 
> not
> be valid.
>
> I don't know if this is a valid concern, but it seems like that is solving the
> problem by curing the symptoms.

Problem is that the std.digest interface doesn't guarantee that a trivial bit
copy actually saves the state. This is deliberate to allow wrappers to OpenSSL
or other C hash functions to be written as structs (Although it's questionable
if those shouldn't be done as OOP API only). Also the risk of unwanted copies
is high (e.g. when passing to a function).

If a way to copy digests is needed we could always implement an explicit
copy/save function for this and enforce all isDigest types to implement this.
This would also work for wrapper types or types which have to keep any kind of
internal reference.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Reply via email to