using System;

namespace System.Reactive
{
	[Serializable]
	public struct Unit : IEquatable<Unit>
	{
		public bool Equals(Unit other)
		{
			return true;
		}

		public override bool Equals(object obj)
		{
			return obj is Unit;
		}

		public override int GetHashCode()
		{
			return 0;
		}

		public override string ToString()
		{
			return "()";
		}

		public static bool operator ==(Unit first, Unit second)
		{
			return true;
		}

		public static bool operator !=(Unit first, Unit second)
		{
			return false;
		}

		public static Unit Default
		{
			get
			{
				return default(Unit);
			}
		}
	}
}
