Re: Problem with dtor behavior

2017-07-28 Thread SrMordred via Digitalmars-d-learn
On Thursday, 27 July 2017 at 20:28:47 UTC, Moritz Maxeiner wrote: On Thursday, 27 July 2017 at 19:19:27 UTC, SrMordred wrote: //D-CODE struct MyStruct{ int id; this(int id){ writeln("ctor"); } ~this(){ writeln("dtor"); } } MyStruct* obj; void push(T)(auto

Re: It makes me sick!

2017-07-28 Thread Mike Parker via Digitalmars-d-learn
On Friday, 28 July 2017 at 12:48:37 UTC, Grander wrote: On Friday, 28 July 2017 at 12:40:27 UTC, rjframe wrote: On Fri, 28 Jul 2017 05:14:16 +, FoxyBrown wrote: You can make any claim you want like: "The end user should install in to a clean dir so that DMD doesn't get confused and load

Re: It makes me sick!

2017-07-28 Thread Arafel via Digitalmars-d-learn
On 07/28/2017 03:29 PM, Mike Parker wrote: The D installer completely uninstalls the previous installation. Anyone who chooses to instead manually extract the zip file should manually delete the previous installation to avoid potential problems. As Jonathan said earlier, overwriting works

Re: Profiling after exit()

2017-07-28 Thread Jacob Carlborg via Digitalmars-d-learn
On 2017-07-28 11:30, Mario Kröplin wrote: Our programs are intended to run "forever". 24/7 servers. What's wrong with having a bool that determines if the loop should continue running? -- /Jacob Carlborg

Re: It makes me sick!

2017-07-28 Thread Mike Parker via Digitalmars-d-learn
On Friday, 28 July 2017 at 13:39:42 UTC, Arafel wrote: I know this page is not the MAIN "download" [2] page, but it's both reached from the "About" link, and as the first google hit for "dlang download windows", so it should be kept as up to date as possible. [1]:

Re: It makes me sick!

2017-07-28 Thread Grander via Digitalmars-d-learn
On Friday, 28 July 2017 at 05:14:16 UTC, FoxyBrown wrote: On Friday, 28 July 2017 at 01:10:03 UTC, Mike Parker wrote: [...] Nope, your unreasonable expecting the end user to clean up the mess "you" leave. [...] Nope. Virtually all apps, at least on windows, work fine if you replace

Re: It makes me sick!

2017-07-28 Thread rjframe via Digitalmars-d-learn
On Fri, 28 Jul 2017 05:14:16 +, FoxyBrown wrote: > > You can make any claim you want like: "The end user should install in to > a clean dir so that DMD doesn't get confused and load a module that > doesn't actually have any implementation" but that's just your opinion. I have never seen

Re: It makes me sick!

2017-07-28 Thread Grander via Digitalmars-d-learn
On Friday, 28 July 2017 at 12:40:27 UTC, rjframe wrote: On Fri, 28 Jul 2017 05:14:16 +, FoxyBrown wrote: You can make any claim you want like: "The end user should install in to a clean dir so that DMD doesn't get confused and load a module that doesn't actually have any implementation"

Re: It makes me sick!

2017-07-28 Thread Anonymouse via Digitalmars-d-learn
On Friday, 28 July 2017 at 05:14:16 UTC, FoxyBrown wrote: If dmd breaks in strange and unpredictable ways IT IS DMD's fault! No exceptions, no matter what you believe, what you say, what lawyer you pay to create a law for you to make you think you are legally correct! You can make any claim

Re: Problem with dtor behavior

2017-07-28 Thread Adam D. Ruppe via Digitalmars-d-learn
On Thursday, 27 July 2017 at 19:19:27 UTC, SrMordred wrote: void push(T)(auto ref T value){ push(MyStruct(1)); template void push(T&& value){ push(MyStruct(1)); Those aren't the same... the D one will pass by value, the C++ one won't. D's auto ref means ref for lvalues, value for

Re: Problem with dtor behavior

2017-07-28 Thread SrMordred via Digitalmars-d-learn
On Friday, 28 July 2017 at 15:49:42 UTC, Moritz Maxeiner wrote: [...] Nice, a bit more clear now, thank you!

Re: Problem with dtor behavior

2017-07-28 Thread Moritz Maxeiner via Digitalmars-d-learn
On Friday, 28 July 2017 at 11:39:56 UTC, SrMordred wrote: On Thursday, 27 July 2017 at 20:28:47 UTC, Moritz Maxeiner wrote: On Thursday, 27 July 2017 at 19:19:27 UTC, SrMordred wrote: //D-CODE struct MyStruct{ int id; this(int id){ writeln("ctor"); } ~this(){

Re: Problem with dtor behavior

2017-07-28 Thread SrMordred via Digitalmars-d-learn
On Friday, 28 July 2017 at 16:25:01 UTC, Adam D. Ruppe wrote: On Thursday, 27 July 2017 at 19:19:27 UTC, SrMordred wrote: "auto ref means ref for lvalues, value for rvalues." Iep, my confusion was there. My mind is still wrapped around the rvalue references and move semantics of c++

Re: Profiling after exit()

2017-07-28 Thread Jacob Carlborg via Digitalmars-d-learn
On 2017-07-27 16:30, Eugene Wissner wrote: I have a multi-threaded application, whose threads normally run forever. But I need to profile this program, so I compile the code with -profile, send a SIGTERM and call exit(0) from my signal handler to exit the program. The problem is that I get the

std.meta.Replace using index

2017-07-28 Thread Nicholas Wilson via Digitalmars-d-learn
Hi I want to replace each occurrence of a particular type in an AliasSeq with a type from another AliasSeq (the both have the same length) with the corresponding index i.e. (int long long float) (byte char double dchar) replacing long should yield (int char double float) std.meta.Replace

Re: Profiling after exit()

2017-07-28 Thread Eugene Wissner via Digitalmars-d-learn
On Friday, 28 July 2017 at 06:32:59 UTC, Jacob Carlborg wrote: On 2017-07-27 16:30, Eugene Wissner wrote: I have a multi-threaded application, whose threads normally run forever. But I need to profile this program, so I compile the code with -profile, send a SIGTERM and call exit(0) from my

Re: Profiling after exit()

2017-07-28 Thread Temtaime via Digitalmars-d-learn
On Friday, 28 July 2017 at 08:06:33 UTC, Eugene Wissner wrote: On Friday, 28 July 2017 at 06:32:59 UTC, Jacob Carlborg wrote: On 2017-07-27 16:30, Eugene Wissner wrote: I have a multi-threaded application, whose threads normally run forever. But I need to profile this program, so I compile

Re: Profiling after exit()

2017-07-28 Thread Mario Kröplin via Digitalmars-d-learn
On Friday, 28 July 2017 at 09:02:10 UTC, Temtaime wrote: There's no "gracefully" way to kill a thread. If your thread cannot join, then you're doing something wrong Our programs are intended to run "forever". 24/7 servers.

Re: Pass range to a function

2017-07-28 Thread Seb via Digitalmars-d-learn
On Thursday, 27 July 2017 at 21:16:03 UTC, Chris wrote: In C#, it'd be `IEnumerable`. I'd rather not do a to-array on the sequence, if possible. (e.g. It'd be nice to just pass the lazy sequence into my categorize function.) This comparison between Linq and D ranges might help you in the

Re: It makes me sick!

2017-07-28 Thread FoxyBrown via Digitalmars-d-learn
On Friday, 28 July 2017 at 13:55:33 UTC, Anonymouse wrote: On Friday, 28 July 2017 at 05:14:16 UTC, FoxyBrown wrote: If dmd breaks in strange and unpredictable ways IT IS DMD's fault! No exceptions, no matter what you believe, what you say, what lawyer you pay to create a law for you to make

Re: It makes me sick!

2017-07-28 Thread FoxyBrown via Digitalmars-d-learn
On Friday, 28 July 2017 at 01:10:03 UTC, Mike Parker wrote: On Friday, 28 July 2017 at 00:28:52 UTC, FoxyBrown wrote: You are not being very logical. The zip file as N files in it. No matter what those files are, it should be a closed system. That is, if I insert or add(not replace) M file

Re: It makes me sick!

2017-07-28 Thread Anonymouse via Digitalmars-d-learn
On Friday, 28 July 2017 at 21:23:22 UTC, FoxyBrown wrote: So, the program, if it is updated shouldn't use the mp3's then. Why the hell is the program that you say was upgraded to use the ogg still searching and using mp3's? You are trying to make up reasons why it shouldn't work... at least

Re: It makes me sick!

2017-07-28 Thread FoxyBrown via Digitalmars-d-learn
On Friday, 28 July 2017 at 21:35:01 UTC, Anonymouse wrote: On Friday, 28 July 2017 at 21:23:22 UTC, FoxyBrown wrote: So, the program, if it is updated shouldn't use the mp3's then. Why the hell is the program that you say was upgraded to use the ogg still searching and using mp3's? You are

Re: std.meta.Replace using index

2017-07-28 Thread Ali Çehreli via Digitalmars-d-learn
On 07/28/2017 12:04 PM, Ali Çehreli wrote: On 07/28/2017 01:22 AM, Nicholas Wilson wrote: Hi I want to replace each occurrence of a particular type in an AliasSeq with a type from another AliasSeq (the both have the same length) with the corresponding index i.e. (int long long float) (byte

Re: std.meta.Replace using index

2017-07-28 Thread Ali Çehreli via Digitalmars-d-learn
On 07/28/2017 01:22 AM, Nicholas Wilson wrote: Hi I want to replace each occurrence of a particular type in an AliasSeq with a type from another AliasSeq (the both have the same length) with the corresponding index i.e. (int long long float) (byte char double dchar) replacing long should

Re: std.meta.Replace using index

2017-07-28 Thread Nicholas Wilson via Digitalmars-d-learn
On Friday, 28 July 2017 at 22:06:27 UTC, Ali Çehreli wrote: I think it works: template replace(T) { template inside(Src...) { template from(Dst...) { import std.meta; enum f = staticIndexOf!(T, Src); static if (f == -1) { alias

Re: Pass range to a function

2017-07-28 Thread Meta via Digitalmars-d-learn
On Thursday, 27 July 2017 at 21:16:03 UTC, Chris wrote: I'm using regex `matchAll`, and mapping it to get a sequence of strings. I then want to pass that sequence to a function. What is the general "sequence of strings" type declaration I'd need to use? In C#, it'd be `IEnumerable`. I'd

Re: dmd can't build gtk x64

2017-07-28 Thread FoxyBrown via Digitalmars-d-learn
On Friday, 28 July 2017 at 22:45:58 UTC, FoxyBrown wrote: Error: can't run 'C:\VS\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64', check PATH It is trying to run some x64.exe/com/bat file... why? What is this file? simply doing dmd -m64 build.d Works fine for x86. I was able to get this to

dmd can't build gtk x64

2017-07-28 Thread FoxyBrown via Digitalmars-d-learn
Error: can't run 'C:\VS\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64', check PATH It is trying to run some x64.exe/com/bat file... why? What is this file? simply doing dmd -m64 build.d Works fine for x86.

Error 1: Previous Definition Different : _D3gtk3All12__ModuleInfoZ (gtk.All.__ModuleInfo)

2017-07-28 Thread FoxyBrown via Digitalmars-d-learn
After upgrading to latest dmd and having to rebuild gtk, I now get the following error Error 1: Previous Definition Different : _D3gtk3All12__ModuleInfoZ (gtk.All.__ModuleInfo) in my apps that were previously working(no changes, opened up old app and tried to build it and it didn't work).

Re: It makes me sick!

2017-07-28 Thread bachmeier via Digitalmars-d-learn
On Friday, 28 July 2017 at 12:48:37 UTC, Grander wrote: On Friday, 28 July 2017 at 12:40:27 UTC, rjframe wrote: On Fri, 28 Jul 2017 05:14:16 +, FoxyBrown wrote: You can make any claim you want like: "The end user should install in to a clean dir so that DMD doesn't get confused and load

Re: Bug or not? Statics inside blocks

2017-07-28 Thread Jonathan M Davis via Digitalmars-d-learn
On Saturday, July 29, 2017 1:54:29 AM MDT Cecil Ward via Digitalmars-d-learn wrote: > The snippet below failed to compile (I think) in the latest DMD - > but I can't see the error message in the web-based editor at > dlang.org. It certainly failed to compile under GDC 5.2.0 when > tried out using

Re: Bug or not? Statics inside blocks

2017-07-28 Thread ag0aep6g via Digitalmars-d-learn
On 07/29/2017 03:54 AM, Cecil Ward wrote: Is it my bug, or a compiler bug? (name clash at link-time?): void main() { { immutable static dstring str1 = "a"; } { immutable static dstring str1 = "b"; } }

D Debug101

2017-07-28 Thread Debug'n via Digitalmars-d-learn
BLUF: How can I set up a D debugger? Background: So, I've been trying to get a D debugger set up and I've been having a pretty difficult time doing so. Hoping someone can point me towards the right direction. The compiler I'm using is DMD (32 bit) v2.075.0 on Windows. I've seen the list of

Bug or not? Statics inside blocks

2017-07-28 Thread Cecil Ward via Digitalmars-d-learn
The snippet below failed to compile (I think) in the latest DMD - but I can't see the error message in the web-based editor at dlang.org. It certainly failed to compile under GDC 5.2.0 when tried out using d.godbolt.org. (Is there any chance of a later GDC compiler there?) Is it my bug, or a

Re: Bug or not? Statics inside blocks

2017-07-28 Thread Cecil Ward via Digitalmars-d-learn
On Saturday, 29 July 2017 at 01:54:29 UTC, Cecil Ward wrote: The snippet below failed to compile (I think) in the latest DMD - but I can't see the error message in the web-based editor at dlang.org. It certainly failed to compile under GDC 5.2.0 when tried out using d.godbolt.org. (Is there