<commit_before>/// Describes a provider of reactive extensions.
///
/// - note: `ReactiveExtensionsProvider` does not indicate whether a type is
///         reactive. It is intended for extensions to types that are not owned
///         by the module in order to avoid name collisions and return type
///         ambiguities.
public protocol ReactiveExtensionsProvider: class {}

extension ReactiveExtensionsProvider {
	/// A proxy which hosts reactive extensions for `self`.
	public var reactive: Reactive<Self> {
		return Reactive(self)
	}<commit_msg>Make non-class types be able to conforms to ReactiveExtensionProvider<commit_after>/// Describes a provider of reactive extensions.
///
/// - note: `ReactiveExtensionsProvider` does not indicate whether a type is
///         reactive. It is intended for extensions to types that are not owned
///         by the module in order to avoid name collisions and return type
///         ambiguities.
public protocol ReactiveExtensionsProvider {}

extension ReactiveExtensionsProvider {
	/// A proxy which hosts reactive extensions for `self`.
	public var reactive: Reactive<Self> {
		return Reactive(self)
	}
{'fraction_non_alphanumeric': 0.07792207792207792, 'fraction_numerical': 0.0, 'mean_word_length': 3.3954372623574143, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5179034', 'n_tokens_mistral': 285, 'n_tokens_neox': 269, 'n_words': 129}