Menu
Home
Create new Paste
Log in
Code
Theme: cobalt
Theme: eclipse
Theme: elegant
Theme: monokai
Theme: neat
Theme: night
Theme: rubyblue
import std.stdio, std.range; template isDigest(T){ enum isDigest = true; } struct digestType(T){ } template digest(Hash) if(isDigest!Hash){ digestType!Hash digest(Range)(Range data) if(!is(Range:const(void[])[]) && isInputRange!Range){ // && __traits(compiles,digest!Hash(ElementType!(Range).init))){ //implementation detail writeln(1); return digestType!Hash(); } digestType!Hash digest()(scope const(void[])[] data...){ // templated as a workaround //implementation detail writeln(2); return digestType!Hash(); } } alias digest!int dig; void main(){ dig([1,2,3]); dig(cast(void[][])[[1,2,3]]); }
Result:
Success
/
Return code: 0
/
Compilation time:
1.478
seconds
/
Run time:
0.02
seconds
Application output:
1
2
Username
Message
Add comment
Paste info
Author:
Guest
Views:
171
Private:
no
Expires:
Never
Uploaded:
08.08.12 21:53
Votes
:
0
Tweet
Compilation
Compiler:
DMD 2.062
Pointer size:
m64
Actions
Download
Fork
Raw
×
Confirm
Are you sure you want to delete this paste?
There's no way back!
×
Confirm
Reason