{"action":"created","issue":{"url":"https://api.github.com/repos/ReactiveX/RxSwift/issues/270","labels_url":"https://api.github.com/repos/ReactiveX/RxSwift/issues/270/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveX/RxSwift/issues/270/comments","events_url":"https://api.github.com/repos/ReactiveX/RxSwift/issues/270/events","html_url":"https://github.com/ReactiveX/RxSwift/issues/270","id":117669394,"number":270,"title":"PublishSubject<E> is marked as final","user":{"login":"shahan312","id":364781,"avatar_url":"https://avatars.githubusercontent.com/u/364781?v=3","gravatar_id":"","url":"https://api.github.com/users/shahan312","html_url":"https://github.com/shahan312","followers_url":"https://api.github.com/users/shahan312/followers","following_url":"https://api.github.com/users/shahan312/following{/other_user}","gists_url":"https://api.github.com/users/shahan312/gists{/gist_id}","starred_url":"https://api.github.com/users/shahan312/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shahan312/subscriptions","organizations_url":"https://api.github.com/users/shahan312/orgs","repos_url":"https://api.github.com/users/shahan312/repos","events_url":"https://api.github.com/users/shahan312/events{/privacy}","received_events_url":"https://api.github.com/users/shahan312/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-11-18T20:03:39Z","updated_at":"2015-11-19T18:25:32Z","closed_at":null,"body":"PublishSubject<E> is marked as final in beta3, preventing the ability to subclass it. Could we get the final keyword removed?\r\n\r\nthanks,\r\nshahan"},"comment":{"url":"https://api.github.com/repos/ReactiveX/RxSwift/issues/comments/158146705","html_url":"https://github.com/ReactiveX/RxSwift/issues/270#issuecomment-158146705","issue_url":"https://api.github.com/repos/ReactiveX/RxSwift/issues/270","id":158146705,"user":{"login":"kzaher","id":1641148,"avatar_url":"https://avatars.githubusercontent.com/u/1641148?v=3","gravatar_id":"","url":"https://api.github.com/users/kzaher","html_url":"https://github.com/kzaher","followers_url":"https://api.github.com/users/kzaher/followers","following_url":"https://api.github.com/users/kzaher/following{/other_user}","gists_url":"https://api.github.com/users/kzaher/gists{/gist_id}","starred_url":"https://api.github.com/users/kzaher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kzaher/subscriptions","organizations_url":"https://api.github.com/users/kzaher/orgs","repos_url":"https://api.github.com/users/kzaher/repos","events_url":"https://api.github.com/users/kzaher/events{/privacy}","received_events_url":"https://api.github.com/users/kzaher/received_events","type":"User","site_admin":false},"created_at":"2015-11-19T18:25:32Z","updated_at":"2015-11-19T18:25:32Z","body":"Hi @shahan312 ,\r\n\r\nCould you maybe explain the context why do you need that feature :)\r\n\r\nAs far as I can tell, it's `final` in other implementations .... that support `final`.\r\nRxJs\r\n```\r\npublic final class PublishSubject<T> extends Subject<T, T> {\r\n\r\n    /**\r\n     * Creates and returns a new {@code PublishSubject}.\r\n     *\r\n     * @param <T> the value type\r\n     * @return the new {@code PublishSubject}\r\n     */\r\n```\r\n\r\nRx.NET\r\n```\r\n/// <summary>\r\n    /// Represents an object that is both an observable sequence as well as an observer.\r\n    /// Each notification is broadcasted to all subscribed observers.\r\n    /// </summary>\r\n    /// <typeparam name=\"T\">The type of the elements processed by the subject.</typeparam>\r\n    public sealed class Subject<T> : SubjectBase<T>, IDisposable\r\n    {\r\n```\r\n\r\nYou can easily create a composition of `PublishSubject` in your code if needed :) It has practically only one or two methods :)"}}