On Thursday, 10 July 2014 at 20:59:17 UTC, simendsjo wrote:
Strings behaves a bit odd with is(). The following passes:

import std.stdio;
void f(string a, string b) {
    assert(a is b); // also true
}
void main() {
    string a = "aoeu";
    string b = "aoeu";
    assert(a is b); // true
    f(a, b);
    writeln("passed");
}

```d
import std.stdio;
void f(string a, string b) {
   writeln("a: ", a.ptr, ", b: ", b.ptr);
   assert(a is b); // also true
}
void main() {
   string a = "aoeu";
   string b = "aoeu";
   writeln("a: ", a.ptr, ", b: ", b.ptr);
   assert(a is b); // true
   f(a, b);
   writeln("passed");
}
```

Output:
```
a: 4210A0, b: 4210A0
a: 4210A0, b: 4210A0
passed
```

Seems legit to me.

Reply via email to