Addendum: In Go, every type needs to be inhabited by at least one value -
it's zero value. And we already have a type that can take *exactly* one
value, namely struct{}.

On Thu, Jun 18, 2020, 22:13 Axel Wagner <axel.wagner...@googlemail.com>
wrote:

> These arguments would be more convincing, if Go wouldn't already reject
> interfaces impossible to implement: https://play.golang.org/p/dYm8js26qml
>
> On Thu, Jun 18, 2020, 17:26 Jesper Louis Andersen <
> jesper.louis.ander...@gmail.com> wrote:
>
>> It is a type which cannot be inhabited by a term. These exist and often
>> have uses. As Bryan wrote they also completes the type lattice, so
>> rejecting them is often a lot of work for little gain.
>>
>> If you want examples, look up phantom types, where an uninhabited type is
>> used as a tag for ensuring compile time restrictions.
>>
>> On Wed, Jun 17, 2020, 22:09 jimmy frasche <soapboxcic...@gmail.com>
>> wrote:
>>
>>> This isn't a bug per se, but I can file one if requested.
>>>
>>> https://go2goplay.golang.org/p/AWynhg6ya7h
>>>
>>> Since embedding interfaces with type lists uses the intersection of
>>> the items in the type list, it's possible to create an interface that
>>> cannot be satisfied by any type.
>>>
>>> Currently this does not cause an error until you attempt to
>>> instantiate something that uses such an interface as a bound.
>>>
>>> I think it would be more useful to raise the error when defining the
>>> interface that cannot be used as it's likely an error—or at least I
>>> can see no valid use for creating an unsatisfiable constraint.
>>>
>>> --
>>> 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/CANG3jXJt_n1HrRMV1SBcaurXOrXVJxXrKN_F%3DtgMAcMJ%2BPOLcg%40mail.gmail.com
>>> .
>>>
>> --
>> 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/CAGrdgiVPP21fky2qcgfnAYjH6H047C1A0Y_V%3Doa%3DB3pTWRX68g%40mail.gmail.com
>> <https://groups.google.com/d/msgid/golang-nuts/CAGrdgiVPP21fky2qcgfnAYjH6H047C1A0Y_V%3Doa%3DB3pTWRX68g%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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/CAEkBMfFwkVmbva1bRYbHX3D6oUhufHvdr-Ebb0GY0u3j_fyTUA%40mail.gmail.com.

Reply via email to