Description
See #178 (comment) and all of the discussion following it. This is required to support ease of subclassing, and it may be required to support buffering, which as @benlesh describes in the aforementioned issue, is important for BehaviorSubject
.
If we decide this is a good thing to do, I prefer to treat it as a follow-up. It introduces a behavior change—operators called on Observable subclasses will suddenly start returning the subclassed type (as JS Arrays and I think other built-ins do), instead of platform Observable
s—but I think this is probably OK since if you're subclassing you're kind of voiding the warranty anyways. But since the ref counted producer issues are closing soon, we'll use this issue to track discussion on this topic.