This is great news, thank you for your work :)
On Thursday, 3 July 2014 at 23:17:33 UTC, Jonathan Crapuchettes
wrote:
Last time 24 issues were marked as resolved by the community
(including
EMSI).
Please join us in squashing bugs on #d.
Is this primarily bug tracker culling or does it include PR
reviewing, debugging, etc?
Can you add a dub.json and submit it to the dub registry?
On Monday, 7 July 2014 at 03:26:54 UTC, Poyeyo wrote:
Can you add a dub.json and submit it to the dub registry?
I can do that but I want to get the 32-, 64- and 128-bit structs
in place first. Probably by midweek (July 9).
On 7/6/2014 1:00 AM, Rikki Cattermole wrote:
On 6/07/2014 6:06 a.m., Nick Sabalausky wrote:
Also, DAuth encourages passwords to be stored in a special structure:
https://github.com/Abscissa/DAuth/blob/master/src/dauth/core.d#L311
which attempts to zero-out the password from memory as
On 7/5/2014 11:45 PM, Nick Sabalausky wrote:
The idea behind the auto-zeroing Password type in DAuth: you do your best to
give it [hopefully] the one and only copy of the plaintext password data, in
mutable form, and DAuth nukes it from memory as soon as it's able to. Not
if/when GC kicks in,
On 6/07/2014 6:45 p.m., Nick Sabalausky wrote:
On 7/6/2014 1:00 AM, Rikki Cattermole wrote:
On 6/07/2014 6:06 a.m., Nick Sabalausky wrote:
Also, DAuth encourages passwords to be stored in a special structure:
https://github.com/Abscissa/DAuth/blob/master/src/dauth/core.d#L311
which
On Sunday, 6 July 2014 at 04:58:42 UTC, Brian Schott wrote:
So something like this would work?
void* GCAwareRealloc(void* ptr, size_t size)
{
import core.thread;
void* r;
thread_enterCriticalRegion();
scope (exit) thread_exitCriticalRegion();
r = realloc(ptr, size);
// Assuming
05-Jul-2014 21:00, Russel Winder via Digitalmars-d пишет:
SCons 2.3.2 has been released which has the revamped D tooling.
I appreciate Dub is becoming the build system of choice for new D
projects, so I will maintain the D support in SCons but definitely in
maintenance mode rather than
On 07/05/2014 07:00 PM, Russel Winder via Digitalmars-d wrote:
SCons 2.3.2 has been released which has the revamped D tooling.
I appreciate Dub is becoming the build system of choice for new D
projects, so I will maintain the D support in SCons but definitely in
maintenance mode rather than
On Sunday, 6 July 2014 at 04:20:21 UTC, Timon Gehr wrote:
That's not 'merely holding a pointer' and it applies to class
references just as much.
Eh?
This is genius, you've just proven that references are as
unsafe as pointers, and people who spent much time and efforts
designing the whole
Please don't under-quote, thanks.
Pointers are perfectly fine as long as there is no pointer arithmetic.
Wrong. Merely holding a pointer (i.e. a physical address) is unsafe already.
Non-deep serialization, or any other preservation of such a struct and GC
is unable to keep the track of
On Saturday, 5 July 2014 at 21:50:59 UTC, Nick Sabalausky wrote:
Secondly, if the difficulty you're referring to is all the
various side-channel attacks (like buffer overflows, timing
attack, etc), then you're conflating crypto and security. The
two are certainly related, but they are NOT the
On Saturday, 5 July 2014 at 18:06:34 UTC, Nick Sabalausky wrote:
On 7/5/2014 8:23 AM, Kagamin wrote:
There was a study, showing that most security vulnerabilities
are caused
by client code rather than cryptographic library code.
Interesting. Link?
Dunno, can't find it right now. I
I guess other persons have already suggested something like this.
Here there is a lazy immutable instance member x, that can be
only in two states: not initialized, and initialized with an
immutable value.
The type system ensures x is never read before it's written, and
that it's written no
On Saturday, 5 July 2014 at 19:33:31 UTC, deadalnix wrote:
I used to think that. A few years ago, I looked into OpenSSL,
noticed several horrors. Several of them mentioned here:
https://www.youtube.com/watch?v=GnBbhXBDmwU
I watched the video just now and I agree, OpenSSL sounds
horrible.
Have anybody thought about implementing hashing and in turn
caching (memoization) directly into DMD to give further
compilation speedups? If so which at what phase in the
compilation would be this best injected?
Ola Fosheim Grøstad:
Both Delight and FeepingCreature appears to be alive. I guess
that is a good sign.
I still like the idea of having in D something like the F#
language directive #light that switches to a brace-less syntax:
http://msdn.microsoft.com/en-us/library/dd233199.aspx
I think
Have anybody cooked up some bash completion for dub?
On 7/6/2014 4:22 AM, Rikki Cattermole wrote:
On 6/07/2014 6:45 p.m., Nick Sabalausky wrote:
The idea behind the auto-zeroing Password type in DAuth: you do your
best to give it [hopefully] the one and only copy of the plaintext
password data, in mutable form, and DAuth nukes it from memory as
On 7/6/2014 9:38 AM, Kagamin wrote:
On Saturday, 5 July 2014 at 18:06:34 UTC, Nick Sabalausky wrote:
On 7/5/2014 8:23 AM, Kagamin wrote:
There was a study, showing that most security vulnerabilities are caused
by client code rather than cryptographic library code.
Interesting. Link?
On 7/6/2014 9:49 AM, Kagamin wrote:
On Saturday, 5 July 2014 at 21:50:59 UTC, Nick Sabalausky wrote:
3. Too late anyway: See std.digest. Besides, if anything, std.digest
is arguably *worse* because (until 2.066) it only provides the worst
choices.
Slight correction: Apparently RIPEMD 160 and
On Sunday, 6 July 2014 at 17:19:24 UTC, bearophile wrote:
I still like the idea of having in D something like the F#
language directive #light that switches to a brace-less
syntax:
I like compact syntax, like the reduction in clutter done with Go.
I've been thinking a lot about how to
On 7/5/2014 4:22 AM, Tove wrote:
The beta works great this far, just sharing some few initial surprises.
1) The lookup rules for namespaces seem overly permissive:
extern (C++, A.B.C):
void cpp() { }
All these work:
A.cpp
B.cpp
C.cpp
A.B.cpp
B.C.cpp
A.B.C.cpp
The lookup rules are the same
On 7/6/2014 7:20 AM, bearophile wrote:
I guess other persons have already suggested something like this. Here there is
a lazy immutable instance member x, that can be only in two states: not
initialized, and initialized with an immutable value.
Not specifically. My opinion on logical const
On 7/6/2014 12:06 PM, Xinok wrote:
However, a very important point comes up at 1:00:15 when a person asks
about the implementation of the mainstream ciphers. It turns out the
implementation of the cryptographic algorithms is well done and actually
written by CRYPTOGRAPHERS. One of the
On 7/6/2014 9:16 AM, Nordlöw wrote:
Have anybody thought about implementing hashing and in turn caching
(memoization) directly into DMD to give further compilation speedups? If so
which at what phase in the compilation would be this best injected?
Caching and memoization of what?
On Sunday, 6 July 2014 at 20:11:12 UTC, Walter Bright wrote:
Caching and memoization of what?
Generated machine code.
On Sunday, 6 July 2014 at 20:34:31 UTC, Nordlöw wrote:
Caching and memoization of what?
Kind of what scons (shared) caching does but built into the
compiler.
On 7/6/2014 1:34 PM, Nordlöw wrote:
On Sunday, 6 July 2014 at 20:11:12 UTC, Walter Bright wrote:
Caching and memoization of what?
Generated machine code.
The generated code is always different. I don't see the savings.
On Sunday, 6 July 2014 at 20:34:31 UTC, Nordlöw wrote:
Generated machine code.
You can detect similarities on the AST level, but that demands
some kind of normalization process which may or may not work out
for the language. More likely to work of for functional style
generic code than
06-Jul-2014 07:19, Wanderer пишет:
On Saturday, 5 July 2014 at 16:03:17 UTC, Dmitry Olshansky wrote:
There are trade-offs. The world is not black and white and I don't
follow 'one rule everywhere'.
This is not a trade-off at all. You suggested to keep database records
linearly, with space
On Sunday, 6 July 2014 at 21:00:34 UTC, Walter Bright wrote:
The generated code is always different.
What do you mean by always different? Because of memory offsets
changing with every small change to input source files?
On 7/6/2014 2:35 PM, Nordlöw wrote:
On Sunday, 6 July 2014 at 21:00:34 UTC, Walter Bright wrote:
The generated code is always different.
What do you mean by always different? Because of memory offsets changing with
every small change to input source files?
I'd turn that around and ask where
On Sunday, 6 July 2014 at 20:36:02 UTC, Nordlöw wrote:
Kind of what scons (shared) caching does but built into the
compiler.
BTW: Does anybody have an example of a large D project which
scons (with caching) builds faster than rdmd?
Hi Walter and Andrei,
I just wanted to let you know that I have found new employment. As my new
employer has no current or planned work in anything related to my
open-source work with D, I will be able to legally continue development on
Aurora and my other projects in D without any change
On Sun, 06 Jul 2014 14:57:34 -0700, Adam Wilson flybo...@gmail.com wrote:
And now I look like a complete idiot for hitting the wrong button!
*embarrassed*
--
Adam Wilson
GitHub/IRC: LightBender
Aurora Project Coordinator
On Sunday, 6 July 2014 at 21:38:28 UTC, Walter Bright wrote:
I'm thinking in terms of a caching build system like scons that
memoize on the object/lib level. As dmd/rdmd kind of realizes a
simple build system I thought we somewhere could inject
memoization on the object level and see how
Recently some people have said that D has about two thousand bugs
open, so there is no hope to fix them, etc. But not all bugs are
equally important. Probably less than about one hundred of those
bugs are significantly important, so if you manage to fix those,
D becomes something different
On 7/6/2014 3:53 PM, bearophile wrote:
Rust has not done the significant D design mistake of putting the associative
arrays inside the language/runtime, but D AAs are getting better.
It wasn't a mistake early on, as D did not have sufficient abstraction power to
do them.
I'm afraid you're proposing a very complex system. It's way beyond where we're
at.
On Sunday, 6 July 2014 at 22:53:56 UTC, bearophile wrote:
Recently some people have said that D has about two thousand
bugs open, so there is no hope to fix them, etc.
Bye,
bearophile
Where was that?
saw this over at the Go subreddit, thought you guys might be
interested:
http://www.larsan.net/2014/07/06/go-vs-d-vs-java8/
On Sunday, 6 July 2014 at 22:03:50 UTC, Adam Wilson wrote:
On Sun, 06 Jul 2014 14:57:34 -0700, Adam Wilson
flybo...@gmail.com wrote:
And now I look like a complete idiot for hitting the wrong
button! *embarrassed*
I've done that so many times it's rediculous! :)
On Sun, Jul 06, 2014 at 08:34:29PM +, Nordlöw via Digitalmars-d wrote:
On Sunday, 6 July 2014 at 20:11:12 UTC, Walter Bright wrote:
Caching and memoization of what?
Generated machine code.
Doesn't rdmd do that to some extent? (But in granularity of entire
source files, rather than
On Sun, Jul 06, 2014 at 04:02:24PM -0700, Walter Bright via Digitalmars-d wrote:
On 7/6/2014 3:53 PM, bearophile wrote:
Rust has not done the significant D design mistake of putting the
associative arrays inside the language/runtime, but D AAs are getting
better.
It wasn't a mistake early
On 7/6/2014 6:12 PM, Nordlöw wrote:
On Sunday, 6 July 2014 at 21:38:28 UTC, Walter Bright wrote:
I'm thinking in terms of a caching build system like scons that memoize
on the object/lib level. As dmd/rdmd kind of realizes a simple build
system I thought we somewthere could inject memoization
On 7/7/2014 12:10 AM, H. S. Teoh via Digitalmars-d wrote:
On Sun, Jul 06, 2014 at 08:34:29PM +, Nordlöw via Digitalmars-d wrote:
On Sunday, 6 July 2014 at 20:11:12 UTC, Walter Bright wrote:
Caching and memoization of what?
Generated machine code.
Doesn't rdmd do that to some extent?
On 7/6/2014 8:43 PM, chaoskampf wrote:
saw this over at the Go subreddit, thought you guys might be interested:
http://www.larsan.net/2014/07/06/go-vs-d-vs-java8/
If anyone's able to login there, maybe they could post a comment
mentioning that SHA-256 (along with the rest of SHA-2) *is* in D
template isMyInstanceOf(alias Templ, alias Inst)
{
alias Args = ???; //I don't have idea how to get it
enum bool isMyInstanceOf = __traits(isSame, Templ!(Args),
Inst);
}
Do you have any idea how to solve this? May be standad library
could be improved with such type of test for
On 05.07.2014 16:05, ParticlePeter wrote:
Hello Community,
I thought there's a separate forum for VisualD. It did exist when
VisualD was on DSource, so why not add it here as well? Or am I to blind
to see?
The forum digitalmars.D.ide is probably the best fit.
Anyway, this thread is an
If you compile your project with the -deps flag, the compiler will
output import dependencies. With -deps=filename, the output will go
into filename.
From there, you'll have to parse and create the graph, though. Maybe
have a look into rdmd source, to see how the dependency extraction is
done
On Sat, Jul 5, 2014 at 6:35 PM, Andre Tampubolon via
Digitalmars-d-learn digitalmars-d-learn@puremagic.com wrote:
I've been reading the newsgroup for a while, and it seems that one of the
reason folks like D is because it supports module.
My question is: what does module mean?
A quick google
You may want to spearhead the effort to get Win32 support of
MSVC into D, if you care enough about it. Rainer has done most
of the work, you'd just have to turn his patches into pull
requests, shepherd them through the review process, and maybe
add some polish:
Do you have an DFLAGS environment variable set on your system?
It looks like the environment variable is used instead of the
make file variable while compiling.
Yep, the DFLAGS parameter was given to the make call. Removing
it...
Thx!
Trying to use dub git master with dmd git master fails
as[per:/home/per] master(+20/-466) ± dub init vibtest vibe.d
Successfully created an empty project in '/home/per/vibtest'.
[per:/home/per] master(+20/-466) ± cd vibtest/
/home/per/vibtest
[per:/home/per/vibtest] $ dub
Fetching vibe-d 0.7.20
What is the syntax for specifying a specific package version (in
my case ~master) when calling dub init?
On Sunday, 6 July 2014 at 09:54:11 UTC, Nordlöw wrote:
I believe I need git master instead of latest release because of
https://github.com/rejectedsoftware/vibe.d/commits/master
If I change
vibe-d: ~0.7.19
to
vibe-d: ~master
followed by
dub upgrade
and
dub
I instead get
On Saturday, 5 July 2014 at 15:33:51 UTC, Vlad Levenfeld wrote:
A colleague of mine had asked me if I could produce some kind
of object/module dependency type of graph for a D project I've
got. I'm not sure what these are called but I've seen them
before for inheritance hierarchies in C++
I hit this myself also. I was trying to use the master branch
DMD, druntime, and phobos with a recent vibe.d for building the
documentation with ddox, and I ran into the reliance on
std.metastrings.
```
void bar()
{
throw new Exception();
}
void foo() nothrow
{
scope(failure) {}
bar();
}
void main() {}
```
Doesn't compile with 2.066:
```
source/app.d(9): Error: 'app.bar' is not nothrow
source/app.d(6): Error: function 'app.foo' is nothrow yet may
throw
```
On Sunday, 6 July 2014 at 12:31:42 UTC, NCrashed wrote:
```
void bar()
{
throw new Exception();
}
void foo() nothrow
{
scope(failure) {}
bar();
}
void main() {}
```
Doesn't compile with 2.066:
```
source/app.d(9): Error: 'app.bar' is not nothrow
source/app.d(6): Error:
I just spent two hours tracking down a bug caused by the fact
that MmFile's ctor gladly accepts mapping an empty file but its
member function unmap() will not. Is this a known issue?
I've setup a test project for vibe.d using dub at
https://github.com/nordlow/vibe-test
but when I type
dub
It err as follows:
[per:/home/per/vibtest] 5s 2 $ dub
WARNING: A deprecated branch based version specification is used
for the dependency vibe-d. Please use numbered versions
On 07/05/2014 10:33 PM, Uranuz wrote:
I have another question about testing if given symbol is instance of the
given template and geting it's template arguments.
Applying Rene Zwanenburg's message... It is not complete because
integral template parameters don't work yet.
import
On Sunday, 6 July 2014 at 08:09:07 UTC, Rainer Schuetze wrote:
On 05.07.2014 16:05, ParticlePeter wrote:
...
It is possible to remove the template methods from my classes,
create
free functions instead and use them in a UFCS way.
Unfortunately I have not figured out UFCS properly, as my
Seeing his example, the OP wants a solution that works even for templates:
template Test1(T) {}
pragma(msg, instanceArgsOf!(Test1, Test1!int));
which fails because Test1!int is not a type (std.traits.isInstanceOf
fails also, for the same reason).
And is(symbol == Name!Args, Args...) does not
On 06.07.2014 19:51, ParticlePeter wrote:
On Sunday, 6 July 2014 at 08:09:07 UTC, Rainer Schuetze wrote:
On 05.07.2014 16:05, ParticlePeter wrote:
...
It is possible to remove the template methods from my classes, create
free functions instead and use them in a UFCS way.
Unfortunately I
On Sunday, 6 July 2014 at 12:31:42 UTC, NCrashed wrote:
```
void bar()
{
throw new Exception();
}
void foo() nothrow
{
scope(failure) {}
bar();
}
void main() {}
```
Doesn't compile with 2.066:
```
source/app.d(9): Error: 'app.bar' is not nothrow
source/app.d(6): Error:
On Sunday, 6 July 2014 at 13:04:35 UTC, Marc Schütz wrote:
On Sunday, 6 July 2014 at 12:31:42 UTC, NCrashed wrote:
```
void bar()
{
throw new Exception();
}
void foo() nothrow
{
scope(failure) {}
bar();
}
void main() {}
```
Doesn't compile with 2.066:
```
On Sunday, 6 July 2014 at 22:03:21 UTC, hane wrote:
On Sunday, 6 July 2014 at 12:31:42 UTC, NCrashed wrote:
```
void bar()
{
throw new Exception();
}
void foo() nothrow
{
scope(failure) {}
bar();
}
void main() {}
```
Doesn't compile with 2.066:
```
source/app.d(9):
On Friday, 4 July 2014 at 21:15:02 UTC, Frustrated wrote:
On Friday, 4 July 2014 at 20:25:28 UTC, Frustrated wrote:
On Friday, 4 July 2014 at 16:31:28 UTC, Stanislav Blinov wrote:
On Friday, 4 July 2014 at 16:28:48 UTC, Frustrated wrote:
On Friday, 4 July 2014 at 15:42:36 UTC, bearophile
So, I took all the code surrounding the error message(which was a
lot of code) and stuck it into one .d file.
No errors! Works as expected.
So, WTF?!?!
I guess now I have to attempt to split the code across modules to
see WTF is going on? Maybe this is a modules issue. I know some
of the
https://issues.dlang.org/show_bug.cgi?id=13052
Kenji Hara k.hara...@gmail.com changed:
What|Removed |Added
Keywords||pull
--- Comment #1 from
https://issues.dlang.org/show_bug.cgi?id=13034
--- Comment #3 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/druntime
https://github.com/D-Programming-Language/druntime/commit/0577910035881d12cf6dc2a68d1c81f938fa41a7
fix Issue 13034 -
https://issues.dlang.org/show_bug.cgi?id=13053
Issue ID: 13053
Summary: Wrong warning on implicitly generated __xtoHash
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Keywords: diagnostic
https://issues.dlang.org/show_bug.cgi?id=13053
Kenji Hara k.hara...@gmail.com changed:
What|Removed |Added
Keywords||pull
--- Comment #1 from
https://issues.dlang.org/show_bug.cgi?id=13034
--- Comment #4 from Ivan Kazmenko ga...@mail.ru ---
The git HEAD version works for me now on Win32 Win64 without these warnings.
Thank you!
--
https://issues.dlang.org/show_bug.cgi?id=13049
Kenji Hara k.hara...@gmail.com changed:
What|Removed |Added
Keywords||pull, rejects-valid
https://issues.dlang.org/show_bug.cgi?id=13050
Kenji Hara k.hara...@gmail.com changed:
What|Removed |Added
Keywords||pull, rejects-valid
https://issues.dlang.org/show_bug.cgi?id=13049
--- Comment #2 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd
https://github.com/D-Programming-Language/dmd/commit/f743a781616d9a795cbc13cbd40d8f1051dcfe11
fix Issue 13049 - in
https://issues.dlang.org/show_bug.cgi?id=13049
github-bugzi...@puremagic.com changed:
What|Removed |Added
Status|NEW |RESOLVED
https://issues.dlang.org/show_bug.cgi?id=12592
Nick Treleaven ntrel-pub...@yahoo.co.uk changed:
What|Removed |Added
CC|
https://issues.dlang.org/show_bug.cgi?id=13054
Issue ID: 13054
Summary: pure nothrow @safe std.algorithm.schwartzSort
Product: D
Version: D2
Hardware: x86
OS: Windows
Status: NEW
Severity: enhancement
https://issues.dlang.org/show_bug.cgi?id=13055
Issue ID: 13055
Summary: @nogc std.string.sformat
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: enhancement
Priority: P1
https://issues.dlang.org/show_bug.cgi?id=13050
--- Comment #2 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd
https://github.com/D-Programming-Language/dmd/commit/cfb3e045a1c6814c18fd0893ef305b02a565db20
fix Issue 13050 - pragma
https://issues.dlang.org/show_bug.cgi?id=13050
github-bugzi...@puremagic.com changed:
What|Removed |Added
Status|NEW |RESOLVED
https://issues.dlang.org/show_bug.cgi?id=13021
Kenji Hara k.hara...@gmail.com changed:
What|Removed |Added
Keywords||pull
--- Comment #3 from
https://issues.dlang.org/show_bug.cgi?id=13005
Andrew Edwards edwards...@gmail.com changed:
What|Removed |Added
Status|NEW |RESOLVED
https://issues.dlang.org/show_bug.cgi?id=13044
Kenji Hara k.hara...@gmail.com changed:
What|Removed |Added
Keywords||accepts-invalid, pull
https://issues.dlang.org/show_bug.cgi?id=13046
Andrew Edwards edwards...@gmail.com changed:
What|Removed |Added
Status|NEW |RESOLVED
https://issues.dlang.org/show_bug.cgi?id=8859
Issue 8859 depends on issue 12976, which changed state.
Issue 12976 Summary: ModuleInfo should be immutable on Solaris
https://issues.dlang.org/show_bug.cgi?id=12976
What|Removed |Added
https://issues.dlang.org/show_bug.cgi?id=12976
Kenji Hara k.hara...@gmail.com changed:
What|Removed |Added
Status|NEW |RESOLVED
https://issues.dlang.org/show_bug.cgi?id=12977
Kenji Hara k.hara...@gmail.com changed:
What|Removed |Added
Status|NEW |RESOLVED
https://issues.dlang.org/show_bug.cgi?id=8859
Issue 8859 depends on issue 12978, which changed state.
Issue 12978 Summary: struct sigaction is too small on 32-bit solaris
https://issues.dlang.org/show_bug.cgi?id=12978
What|Removed |Added
https://issues.dlang.org/show_bug.cgi?id=8859
Issue 8859 depends on issue 12977, which changed state.
Issue 12977 Summary: lf64 definitions aren't correct on Solaris
https://issues.dlang.org/show_bug.cgi?id=12977
What|Removed |Added
https://issues.dlang.org/show_bug.cgi?id=8859
Issue 8859 depends on issue 13037, which changed state.
Issue 13037 Summary: SIGRTMIN and SIGRTMAX aren't correctly defined on Solaris
https://issues.dlang.org/show_bug.cgi?id=13037
What|Removed |Added
https://issues.dlang.org/show_bug.cgi?id=12978
Kenji Hara k.hara...@gmail.com changed:
What|Removed |Added
Status|NEW |RESOLVED
https://issues.dlang.org/show_bug.cgi?id=13037
Kenji Hara k.hara...@gmail.com changed:
What|Removed |Added
Status|NEW |RESOLVED
https://issues.dlang.org/show_bug.cgi?id=12592
--- Comment #2 from Nick Treleaven ntrel-pub...@yahoo.co.uk ---
I just added an overload of refill so it can behave like your keep():
const r = data.dup.sort().release.refill!uniq;
--
1 - 100 of 125 matches
Mail list logo