On Wednesday, 5 January 2022 at 05:17:10 UTC, Stanislav Blinov
wrote:
It is returned. But initializing `c` with it makes a copy.
Oh...
Wish we had real `ref` ;(
This will mutate `a`:
```
func(a) = 10;
```
Thank you for your help!
On Wednesday, 5 January 2022 at 05:15:30 UTC, Paul Backus wrote:
On Wednesday, 5 January 2022 at 04:35:12 UTC, Tejas wrote:
```d
import std.stdio:writeln;
ref int func(return ref int a){
a = 6; // modifies a as expected
return a;
}
void main(){
int a = 5;
auto c = func(a); // I
On Wednesday, 5 January 2022 at 04:35:12 UTC, Tejas wrote:
```d
import std.stdio:writeln;
ref int func(return ref int a){
a = 6; // modifies a as expected
return a;
}
void main(){
int a = 5;
auto c = func(a); // I expected c to alias a here
c = 10; // Expected to modify a as
On Wednesday, 5 January 2022 at 04:35:12 UTC, Tejas wrote:
```d
import std.stdio:writeln;
ref int func(return ref int a){
a = 6; // modifies a as expected
return a;
}
void main(){
int a = 5;
auto c = func(a); // I expected c to alias a here
c = 10; // Expected to modify a as
```d
import std.stdio:writeln;
ref int func(return ref int a){
a = 6; // modifies a as expected
return a;
}
void main(){
int a = 5;
auto c = func(a); // I expected c to alias a here
c = 10; // Expected to modify a as well
writeln(a); // prints 6 :(
}
```
The
On Tuesday, 4 January 2022 at 18:13:56 UTC, Ben Jones wrote:
The tricky part is that the lab machines that the students will
be using don't have a D compiler installed (they're Fedora
machines, and I didn't see a dmd package in their repos, or I
would have asked the admins to install it).
On Tuesday, 4 January 2022 at 23:37:57 UTC, H. S. Teoh wrote:
... .. .
Which seems to confirm my suspicions.
T
yes, this sounds like it might be it.
I tried using = void;
.. results:
dmd -m64 -> just results in an 'out of memory' message (but at
least i get a message this time)
ldc2
On Tue, Jan 04, 2022 at 03:34:41PM -0800, H. S. Teoh wrote:
[...]
> Of course, afterwards the optimizer would merge them into something
> saner, but while the compiler is unfolding all those assignments, its
> memory usage would obviously skyrocket.
Or the compiler would run out of memory before
On Tue, Jan 04, 2022 at 10:53:50PM +, forkit via Digitalmars-d-learn wrote:
[...]
> //
>
> module test;
> void main(){ static char[2147483646] arr; }
>
> //
I bet you it's the same problem I found a couple of years ago, where the
compiler translates the above code to something
strange things happen when I compile (on windows) the code below
with:
dmd -m64
(compilation just crashes - no error message at all)
or
ldc2 -m64
(compilation works, but memory usage during compilation goes
completely wild! upto 22GB, then down to 7GB, then finally
completes.)
//
In a project I have this "controller" function:
```
void create_fso (O) (Request req)
{
:
auto npathname = (extract name from req)
:
O.create (npathname);
:
}
public import fsobjects;
```
which creates a file system object. The possible object types I
collected in a separate
On Tuesday, 4 January 2022 at 21:34:46 UTC, Adam D Ruppe wrote:
On Tuesday, 4 January 2022 at 21:22:26 UTC, Ben Jones wrote:
* frame #0: 0x
That's null, meaning the library wasn't loaded.
simpledisplay actually doesn't need -lX11 since it always
dynamic loads the
On Tuesday, 4 January 2022 at 21:22:26 UTC, Ben Jones wrote:
* frame #0: 0x
That's null, meaning the library wasn't loaded.
simpledisplay actually doesn't need -lX11 since it always dynamic
loads the libraries. Normally it throws when this fails though
instead of keeping
On Tuesday, 4 January 2022 at 20:28:00 UTC, Ben Jones wrote:
On Tuesday, 4 January 2022 at 19:14:04 UTC, Adam D Ruppe wrote:
[...]
Crashes on `display = XOpenDisplay(displayName);` :
```
* thread #1, queue = 'com.apple.main-thread', stop reason =
EXC_BAD_ACCESS (code=1, address=0x0)
*
On Tuesday, 4 January 2022 at 18:13:56 UTC, Ben Jones wrote:
be using don't have a D compiler installed (they're Fedora
machines, and I didn't see a dmd package in their repos, or I
would have asked the admins to install it).
Just for the record, while the official Fedora repos don't have
On Tuesday, 4 January 2022 at 19:14:04 UTC, Adam D Ruppe wrote:
On Tuesday, 4 January 2022 at 19:10:25 UTC, Ben Jones wrote:
All good, except now simpledisplay is segfaulting on
XDisplayConnection.get again
run it in the debugger; do a -g build and run it in gdb or lldb
and do check the
On Tuesday, 4 January 2022 at 19:06:52 UTC, Ali Çehreli wrote:
On 1/4/22 10:53 AM, Dr Machine Code wrote:
what made that change, assuming it worked at time. Library?
compile changes?
Here is the changelog item:
https://dlang.org/changelog/2.088.0.html#remove-nullable-alias-get-this
A
On Tuesday, 4 January 2022 at 19:10:25 UTC, Ben Jones wrote:
All good, except now simpledisplay is segfaulting on
XDisplayConnection.get again
run it in the debugger; do a -g build and run it in gdb or lldb
and do check the exact line it is on.
could be that the Xlib things didn't
On Tuesday, 4 January 2022 at 18:45:37 UTC, Ben Jones wrote:
On Tuesday, 4 January 2022 at 18:37:25 UTC, Adam D Ruppe wrote:
On Tuesday, 4 January 2022 at 18:13:56 UTC, Ben Jones wrote:
clang -c -o source/assignment1.o source/assignment1.c
you might have better luck just telling clang to
On 1/4/22 10:53 AM, Dr Machine Code wrote:
what made that change,
assuming it worked at time. Library? compile changes?
Here is the changelog item:
https://dlang.org/changelog/2.088.0.html#remove-nullable-alias-get-this
A reminder at least to myself: I found it by searching for Nullable in
On Tuesday, 4 January 2022 at 17:58:05 UTC, Adam D Ruppe wrote:
On Tuesday, 4 January 2022 at 17:23:11 UTC, Dr Machine Code
wrote:
I could fix just with
```d
data.entries ~= entry.get;
```
This is what the original code was doing - it used to
implicitly do this.
So while this
Wow, several different approaches!
Thanks everyone, I find this discussion enriching.
I find `H. S. Teoh`'s template solution to be the closest to what
I need. It adds minimal complexity to the existing implementation.
On Tuesday, 4 January 2022 at 18:37:25 UTC, Adam D Ruppe wrote:
On Tuesday, 4 January 2022 at 18:13:56 UTC, Ben Jones wrote:
clang -c -o source/assignment1.o source/assignment1.c
you might have better luck just telling clang to link it too
like
clang source/assignment1.o -lphobos2 build/*.o
On Tuesday, 4 January 2022 at 18:13:56 UTC, Ben Jones wrote:
clang -c -o source/assignment1.o source/assignment1.c
you might have better luck just telling clang to link it too
like
clang source/assignment1.o -lphobos2 build/*.o # etc
since there's a bunch of default search paths and libs
On 1/4/22 10:13 AM, Ben Jones wrote:
> So I think I need to specify that I want to explicitly include libc when
> I link it. `-lc` didn't seem to work.
Did you add -lc and -lpthread on the linker line?
> ld build/*.o -L. -lphobos2 -o build/executable
Ali
On Tuesday, 4 January 2022 at 18:26:41 UTC, Ali Çehreli wrote:
On 1/4/22 10:13 AM, Ben Jones wrote:
> So I think I need to specify that I want to explicitly
include libc when
> I link it. `-lc` didn't seem to work.
Did you add -lc and -lpthread on the linker line?
> ld build/*.o -L.
I have a somewhat unusual use case and I'm having trouble getting
everything to link properly.
I'm writing an assignment for a course I'm teaching and I've
written the skeleton code in D, and students are going to
implement one function in C, which my skeleton code will call.
The tricky
On Tue, Jan 04, 2022 at 05:01:41PM +, Amit via Digitalmars-d-learn wrote:
> Hi!
>
> I wrote a text parser that takes a File argument and parses that
> file's contents. Now I would like to write a unit-test for that
> parser. I need a File (or a general IO interface) that reads from an
>
On 1/4/22 9:48 AM, Paul Backus wrote:
> On Tuesday, 4 January 2022 at 17:01:41 UTC, Amit wrote:
>> I need a File (or a general IO interface) that reads from an
>> in-memory buffer, similar to python's `StringIO` or go's
>> `strings.Reader`.
>>
>> How can I achieve that?
I don't think it exists
On Tuesday, 4 January 2022 at 17:23:11 UTC, Dr Machine Code wrote:
I could fix just with
```d
data.entries ~= entry.get;
```
This is what the original code was doing - it used to implicitly
do this.
So while this might be buggy, it wouldn't be a new bug at least.
On Tuesday, 4 January 2022 at 17:01:41 UTC, Amit wrote:
Hi!
I wrote a text parser that takes a File argument and parses
that file's contents. Now I would like to write a unit-test for
that parser. I need a File (or a general IO interface) that
reads from an in-memory buffer, similar to
I've tried to build 2 years old D project and I was getting the
error:
> Error: cannot append type `Nullable!(SelectorEntry)` to type
`SelectorEntry[]`
I went to use Nullable, 'cause I've never used it before. Boiling
down the error was something like (minimal code reproduction):
```d
Hi!
I wrote a text parser that takes a File argument and parses that
file's contents. Now I would like to write a unit-test for that
parser. I need a File (or a general IO interface) that reads from
an in-memory buffer, similar to python's `StringIO` or go's
`strings.Reader`.
How can I
33 matches
Mail list logo