Newsgroups: php.internals
Path: news.php.net
Xref: news.php.net php.internals:105935
Return-Path: <nikita.ppv@gmail.com>
Delivered-To: mailing list internals@lists.php.net
Received: (qmail 60089 invoked from network); 15 Jun 2019 11:00:24 -0000
Received: from unknown (HELO mail-lj1-f176.google.com) (209.85.208.176)
  by pb1.pair.com with SMTP; 15 Jun 2019 11:00:24 -0000
Received: by mail-lj1-f176.google.com with SMTP id 16so4595530ljv.10
        for <internals@lists.php.net>; Sat, 15 Jun 2019 01:14:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
        bh=rsQNbIUkQTxztjbLC8an4/N9HcSAGcWha3JmFy3r1/I=;
        b=XoG+0ipgEjXv/oJt+wPydtAHixIs2QgOb+24ue20rA8df/9l3ngJxxFatkZx/LsUoP
         WsjmhCE/9UfAweKUag2cP/wiqQs9+XtETtkdFrlqWWp9Y2SuRZYwz3JfZblF9MzpaeCJ
         EHsZDe1sRyVg/zKu6W0OdN/oCOi0w6To7gpWXGOKN8aTMpxotwaWYD+q7PpJ9kXfCRNi
         wJrP8dVx+Yts+M5t9/4pLEXfncoHz5G7AArLz6Ni8Dmfz24AF8kTpKU3yUtr0jWTELra
         FQd2YTemjbUIG0mpCSyxcTKEHpXt1CBm/IAKnB816LL9fLH/wV8NEqxDVWIHLs1qFvkf
         IDVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to;
        bh=rsQNbIUkQTxztjbLC8an4/N9HcSAGcWha3JmFy3r1/I=;
        b=VuQSxD4IR6szjH1HG08fuuT9QI8HqaobhqCuRaU1+m8IXsSjQm1jmbe/mhPqJ9QEPI
         HtGVOggUF1ADVjKTXZLoznTL90qpfkHsUKO4Y0axQ+4umyZAXPyjaciWKVddUJwDL2WN
         W6EmrrF6dKI5vKbIxeCHoVHQNBPEzokT5WpPIk6B76yxI18RUsJ03lzZ6paT8JZHEr2i
         ZWiSBJmOez2S6L0iD4h7OjjA5d54ZdSr8erMnLWZnxUJHGUCQNyEROWKeg8DJM85yMmy
         +grojx0N5nHchOUTsWCQFc/3qF0c80TATBbbktDCbJeoJqN3bSTIO2twUfivb0eslEr2
         K7YQ==
X-Gm-Message-State: APjAAAX+pLk+FdKNz7WezbaoNnmEwMwFFBDBaf4N08qwvue+hGUcm0KV
	w2M8+m8LSlJvWrObxnMzuJIJXvTOLNed+dKKX1gBJoC/6kc=
X-Google-Smtp-Source: APXvYqzv2bACzVidBfLWm+Q0gsWVvACD/rnMdfb1Jy8DX39q8r3aDzcW93KA3X+Dq84hqITH2uqcemNiSVoIPN1KazU=
X-Received: by 2002:a2e:2c04:: with SMTP id s4mr28242261ljs.61.1560586439410;
 Sat, 15 Jun 2019 01:13:59 -0700 (PDT)
MIME-Version: 1.0
References: <CAFMT4Nodo_8dw4UkwZqT4vzE1=27xd7wczf=JxYu=R3j71xXag@mail.gmail.com>
 <CAFMT4NoyOVYT7U0cbDSOLA3jtipcdtPdaLEWPHPbg3FZSoOprA@mail.gmail.com>
 <CAFMT4Nrh-731iLxgb4BkYYe1OWKDepQjYn15vc-Nq3j43vF4vg@mail.gmail.com>
 <8094526f-88d6-6d46-6f83-4165d65c064a@gmx.de> <CAFMT4Np_w5C+Zku9v_r5aHv8BhUKpvhm9ibG3XXXunx4s5Cvag@mail.gmail.com>
 <CAF+90c9dxPN9GLuxoc9GOGzjjnCjCF6JGwwPer1e=DLCY-1qAw@mail.gmail.com>
 <CAFMT4No5s8-75V0bf2uGZ1YysafA-_5kbGfidbUR-JpX+bb3bA@mail.gmail.com>
 <CAF+90c9Vr+CeRt=o+LAXYjuj0XdNg6RX-0Cnvy=XPtiuarYG4Q@mail.gmail.com> <9cc316c7-ecfe-0380-cfaf-fd8c58466fe5@php.net>
In-Reply-To: <9cc316c7-ecfe-0380-cfaf-fd8c58466fe5@php.net>
Date: Sat, 15 Jun 2019 10:13:42 +0200
Message-ID: <CAF+90c_GmsfD7j0Qw=tz_JCPmMu8qK9b-24wBS8xyhNsKHmafw@mail.gmail.com>
To: PHP internals <internals@lists.php.net>
Content-Type: multipart/alternative; boundary="0000000000005ccadb058b5858b6"
Subject: Re: [PHP-DEV] Re: [RFC][Vote] Covariant Returns and Contravariant Parameters
From: nikita.ppv@gmail.com (Nikita Popov)

--0000000000005ccadb058b5858b6
Content-Type: text/plain; charset="UTF-8"

On Sat, Jun 15, 2019 at 9:02 AM Sebastian Bergmann <sebastian@php.net>
wrote:

> Am 13.06.2019 um 18:48 schrieb Nikita Popov:
> > An update on this: The last part of covariance support has landed [1] a
> few
> > days ago and is part of 7.4 alpha 1. As already described, full variance
> is
> > only supported in conjunction with autoloading. When working in a single
> > file or with explicit includes, the requirement that classes need to be
> > declared before being referenced (including reference in variant type
> > declarations) remains.
>
> Does "only supported in conjunction with autoloading" mean that covariance
> is not (completely) supported when preloading is used?
>

Preloading is indeed currently limited to DAG class references (this
includes class references in inheritance, in types and in constant
expressions). Of course, it will fall back transparently to autoloading for
the cases it cannot handle.

If you run into this in practice (due to covariance or other reasons), feel
free to report a bug -- there's some low hanging fruit in terms of
restrictions we can remove.

Nikita

--0000000000005ccadb058b5858b6--