On Thursday, January 6, 2022 at 9:40:52 PM UTC+8 tapi...@gmail.com wrote:

> On Thursday, January 6, 2022 at 8:35:06 PM UTC+8 Brian Candler wrote:
>
>> No, the mistake is in your reading of the spec.  You are complaining 
>> about this line:
>>
>> interface{ int; any } // no specific types (intersection is empty)
>>
>> The spec makes it clear that:
>> 1. "any" is short for "interface {}"
>> 2. "interface {}" has no *specific types*
>>
>>
> I think your logic mistake here is that the operands of the union and 
> intersection operations are type sets, instead of specific types.
>

This conclusion is not very precise. More precisely, the operands of the 
union and intersection operations
could be either type set or specific types, but interface types don't 
participate in calculations of specific types.
 

>  
>
>> You are taking the intersection of the set of one type (int) with the 
>> empty set, and therefore the result is the empty set.  Exactly as the 
>> comment says.
>>
>> On Thursday, 6 January 2022 at 11:47:52 UTC tapi...@gmail.com wrote:
>>
>>> On Thursday, January 6, 2022 at 6:15:06 PM UTC+8 Brian Candler wrote:
>>>
>>>> 1. interface { a;b } is intersection. The "Intersection" between two 
>>>> sets means things which exist in both sets simultaneously.
>>>> 2. interface { a|b } is union.  "Union" means a set of things which 
>>>> which exist in set A *or* set B.
>>>>
>>>> Quoting from the spec:
>>>> *"the predeclared type *any* is an alias for the empty interface." *
>>>> *"interface{} // no specific types"*
>>>> *"For an interface with type elements, 𝑆 is the intersection of the 
>>>> specific types of its type elements."*
>>>>
>>>> Can you see now?
>>>>
>>>
>>> The explanation is as what I think.
>>> But what is your conclusion? Is it a mistake in spec?
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/a44f0c52-dde5-4d86-b9e7-7fa097a1dfden%40googlegroups.com.

Reply via email to