' Licensed to the .NET Foundation under one or more agreements.
' The .NET Foundation licenses this file to you under the MIT license.
' See the LICENSE file in the project root for more information.

Public Structure UserDefinedBinaryOperator{2}
    Public Shared Operator +(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2} 
        Return x
    End Operator

    Public Shared Operator -(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2} 
        Return x
    End Operator

    Public Shared Operator *(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2} 
        Return x
    End Operator

    Public Shared Operator /(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2} 
        Return x
    End Operator

    Public Shared Operator \(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2} 
        Return x
    End Operator

    Public Shared Operator Mod(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2} 
        Return x
    End Operator

    Public Shared Operator ^(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2} 
        Return x
    End Operator

    Public Shared Operator =(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2} 
        Return x
    End Operator

    Public Shared Operator <>(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2}
        Return x
    End Operator

    Public Shared Operator <(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2} 
        Return x
    End Operator

    Public Shared Operator >(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2} 
        Return x
    End Operator

    Public Shared Operator <=(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2}
        Return x
    End Operator

    Public Shared Operator >=(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2}
        Return x
    End Operator

    Public Shared Operator Like(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2}
        Return x
    End Operator

    Public Shared Operator &(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2} 
        Return x
    End Operator

    Public Shared Operator And(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2}
        Return x
    End Operator

    Public Shared Operator Or(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2} 
        Return x
    End Operator

    Public Shared Operator Xor(x As UserDefinedBinaryOperator{2}{0}, y As UserDefinedBinaryOperator{2}{1}) As UserDefinedBinaryOperator{2}
        Return x
    End Operator

    Public Shared Operator <<(x As UserDefinedBinaryOperator{2}{0}, y As Integer) As UserDefinedBinaryOperator{2}
        Return x
    End Operator

    Public Shared Operator >>(x As UserDefinedBinaryOperator{2}{0}, y As Integer) As UserDefinedBinaryOperator{2}
        Return x
    End Operator
End Structure
