Re: Adding overloaded methods

2012-02-24 Thread H. S. Teoh
On Fri, Feb 24, 2012 at 04:24:03PM +1300, James Miller wrote: On 24 February 2012 12:06, H. S. Teoh hst...@quickfur.ath.cx wrote: On Fri, Feb 24, 2012 at 04:06:52AM +1300, James Miller wrote: On 23 February 2012 13:15, BLM blm...@gmail.com wrote: After messing around for a while, I figured

Re: Adding overloaded methods

2012-02-23 Thread H. S. Teoh
On Fri, Feb 24, 2012 at 04:06:52AM +1300, James Miller wrote: On 23 February 2012 13:15, BLM blm...@gmail.com wrote: After messing around for a while, I figured out what is making DMD choke on my file. The methods were defined in the base class using template mixins, and apparently DMD

Re: Adding overloaded methods

2012-02-23 Thread James Miller
On 24 February 2012 12:06, H. S. Teoh hst...@quickfur.ath.cx wrote: On Fri, Feb 24, 2012 at 04:06:52AM +1300, James Miller wrote: On 23 February 2012 13:15, BLM blm...@gmail.com wrote: After messing around for a while, I figured out what is making DMD choke on my file. The methods were

Re: Adding overloaded methods

2012-02-22 Thread BLM
After messing around for a while, I figured out what is making DMD choke on my file. The methods were defined in the base class using template mixins, and apparently DMD doesn't like it when mixins, inheritance, overloading, and aliases are all in the same piece of code :)

Adding overloaded methods

2012-02-21 Thread BLM
I'm working on a project where I'm using overloaded virtual methods, and I've run into a challenge with overload sets. My code looks something like this: class Base { void get(ubyte b) {}; } class Derived: Base { //alias Base.get get; void get(string s) {}; } I've tried using an alias

Re: Adding overloaded methods

2012-02-21 Thread Jonathan M Davis
On Wednesday, February 22, 2012 02:21:43 BLM wrote: I'm working on a project where I'm using overloaded virtual methods, and I've run into a challenge with overload sets. My code looks something like this: class Base { void get(ubyte b) {}; } class Derived: Base { //alias Base.get

Re: Adding overloaded methods

2012-02-21 Thread BLM
I tried using override and it complained that the functions weren't overriding anything. I think that the main problem is that the alias solution was designed to allow derived classes to use overloads that had already been defined in the base class, not for the derived classes to add _new_

Re: Adding overloaded methods

2012-02-21 Thread Jonathan M Davis
On Wednesday, February 22, 2012 02:50:41 BLM wrote: I tried using override and it complained that the functions weren't overriding anything. I think that the main problem is that the alias solution was designed to allow derived classes to use overloads that had already been defined in the base

Re: Adding overloaded methods

2012-02-21 Thread Ali Çehreli
On 02/21/2012 06:21 PM, BLM wrote: I'm working on a project where I'm using overloaded virtual methods, and I've run into a challenge with overload sets. My code looks something like this: class Base { void get(ubyte b) {}; } class Derived: Base { //alias Base.get get; void get(string

Re: Adding overloaded methods

2012-02-21 Thread BLM
I've submitted it to the DMD developers. Hopefully it won't take too long to get fixed; it looks like it would be a _fairly_ simple fix to make. (Since when is a compiler fix simple?)

Re: Adding overloaded methods

2012-02-21 Thread BLM
Hmm... I guess I'll have to figure out why my code is behaving differently and put a test case together. Strange... Thanks for fixing the semicolons. Old C++ habits die hard, even if one has written very little C++ :)

Re: Adding overloaded methods

2012-02-21 Thread Jacob Carlborg
On 2012-02-22 03:39, Jonathan M Davis wrote: On Wednesday, February 22, 2012 02:21:43 BLM wrote: I'm working on a project where I'm using overloaded virtual methods, and I've run into a challenge with overload sets. My code looks something like this: class Base { void get(ubyte b) {}; }

Re: Adding overloaded methods

2012-02-21 Thread Jonathan M Davis
On Wednesday, February 22, 2012 08:19:09 Jacob Carlborg wrote: He is overloading, not overriding. You have to start notice the difference when reading these posts :) Well, it's both. He's overriding a base class function with a different signature. So, depending on how the compiler treats