Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:105935 Return-Path: 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 ; 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: <8094526f-88d6-6d46-6f83-4165d65c064a@gmx.de> <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: To: PHP internals 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 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--