On Thursday, 22 March 2018 at 04:49:39 UTC, Seb wrote:
No need for regular expressions. D is powerful enough without
them:
```
alias lowercased = (m, n) =>
m.take(n).asLowerCase.chain(m.drop(n));
```
https://run.dlang.io/is/cSL0si
And with the filter, so it passes the assert:
```
string
On Thursday, 7 June 2018 at 04:58:40 UTC, Jonathan M Davis wrote:
It would be trivial enough to create a wrapper template so that
you can do something like
immutable n = ctfe!(foo());
e.g.
template ctfe(alias value)
{
enum ctfe = value;
}
Would this be equivalent to using static immu
On Wednesday, 13 June 2018 at 07:35:25 UTC, RazvanN wrote:
Hello,
I'm having a hard time understanding whether this inconsistency
is a bug or intended behavior:
immutable class Foo {}
immutable struct Bar {}
void main()
{
import std.stdio : writeln;
Foo a;
Bar b;
writeln("ty
Hi Guys,
I've been playing around with CTFE today to see how far I would
push it but I'm having an issue appending to an array on a struct
in CTFE from a template:
```
struct Content{
string[] parts;
}
void add_part_to_content(Content content, string s)(){
content.parts ~= "Part: "~s
On Friday, 15 September 2017 at 07:12:36 UTC, Andrea Fontana
wrote:
Internal error is always a bug, so it should be reported!
I have opened a issue:
https://issues.dlang.org/show_bug.cgi?id=17828
On Friday, 15 September 2017 at 15:48:10 UTC, Stefan Koch wrote:
are you using ucent ?
Not that I know of, the code above is the full code (not sure
what's used internally for string literals).
I was using dmd 2.076 from the apt repo but the error also
happens in LDC 1.3[1].
Is there an e
Hi Guys,
Is there an easy way to check if the value of string passed to a
template is available at compile time?
Here is a cut down example of that I'm doing:
```
string[] escapeCTFE(Args...)(){
static foreach (arg; Args){
static if(__traits(compiles, ###WHATDOIPUTHERE###)){
On Thursday, 21 September 2017 at 11:42:36 UTC, David Bennett
wrote:
[snip]
```
string[] escapeCTFE(Args...)(){
static foreach (arg; Args){
static if(__traits(compiles, ###WHATDOIPUTHERE###)){
[snip]
So far the best I've come up with is :
```
enum isCTstring(alias arg) = (!isAs
On Thursday, 21 September 2017 at 13:52:25 UTC, Meta wrote:
On Thursday, 21 September 2017 at 12:30:15 UTC, David Bennett
wrote:
On Thursday, 21 September 2017 at 11:42:36 UTC, David Bennett
wrote:
enum isCTstring(alias arg) = (!isAssignable!(typeof(arg)) ||
__traits(compiles, mixin(` "foo" ~