On 2019-10-21 18:02:06 +0000, Robert M. Münch said:

This now gives:

rx_filter_subject.d(66,23): Error: rx_filter_subject.FilterSubject.subscribe called with argument types (myWidget) matches both:

/Users/robby/.dub/packages/rx-0.13.0/rx/source/rx/subject.d(72,16):
rx.subject.SubjectObject!(message).SubjectObject.subscribe!(myWidget).subscribe(myWidget observer)

and:

rx_filter_subject.d(47,14): rx_filter_subject.FilterSubject.subscribe(myWidget observer)

So, now there is an ambiguty.

I'm really stuck on this which looks like a dead-lock to me. Adding "override" gives:

class myWidget : Observer!message {...}

class FilterSubject : SubjectObject!message {
 override Disposable subscribe(myWidget observer){...}
}

rx_filter_subject.d(47,23): Error: function Disposable rx_filter_subject.FilterSubject.subscribe(myWidget observer) does not override any function, did you mean to override template rx.subject.SubjectObject!(message).SubjectObject.subscribe(T)(T observer)?

rx_filter_subject.d(47,23): Functions are the only declarations that may be overriden

So, I can't override but when I use an alias I get an ambiguty error... now what?

The only solution I have is to use a different name, but that would change the interface and run against all the OOP ideas. The whole code can be found here: https://pastebin.com/5BTT16Ze


--
Robert M. Münch
http://www.saphirion.com
smarter | better | faster

Reply via email to