Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:115336 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 35382 invoked from network); 7 Jul 2021 08:09:40 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 7 Jul 2021 08:09:40 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id D715218033A for ; Wed, 7 Jul 2021 01:31:37 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-ua1-f45.google.com (mail-ua1-f45.google.com [209.85.222.45]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 7 Jul 2021 01:31:37 -0700 (PDT) Received: by mail-ua1-f45.google.com with SMTP id e20so504590ual.9 for ; Wed, 07 Jul 2021 01:31:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=psx4I0zkuSLmyJSwCm9NdjkcsZGQW9aZbGVWqNZUgPE=; b=M1Y7gSaGYWIAGvMwo+46UBxlDEHZi5p8Ezns9QIm35PpBh5Jwqj1dqESdqRtfXRifr +2lAODQVtPKMMwV0Q/a8FFRXjTDdgKDbV18rsxxz4r542fChQE9OcDi7gpVILYX2BoZj ZCAeNGmFERXgXXmhFSzblj0B0FL4YvZQwOUr2Ypm5ehnL5jgh2sIw7s6s7XxIZsxyP8/ HMDc2n7HvD2ymqyVZsFVRNoQzbO+falfmKbJzaAatHt+f6TGjpf1FgkKikylYeS8oWYy l4xopuLuG+TbLktD2VHeCKNtPdE3AI3Aa/rc4ZKgpJ3H7pLzRYaXfWmO8BBVMHhqMNhz qB5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=psx4I0zkuSLmyJSwCm9NdjkcsZGQW9aZbGVWqNZUgPE=; b=TAwMXdNrG60bDIzwUATvMgFAu+3uKOo6yaJ1HYAkYhUeniMoYBqG9YZiihjDNdq7GH 5/Exr1MyacM3gKFtW3Jv3qp/wRVyaWGcFJ+IrHF6XUhOZxp9oGHF9EY5RWOes9I9s/hw AooE3C+OruNp0E/zyI3dpwJNc2J+wrV+DdnxjarlYVhIu/B2nI9g14SeveAf9hLgM3pZ Ns5gfJA3nr0QlbLbXQbCj5pXEgYsiwD9Dzhcfkl7BF20o0jjI/PBFFbesg2NRrZ7WZvY 4e0vI6FTNcXDXk2uImL1u0UPygMgCa8LDHP1nOlzl77Jg+ABSyEG8CDCLshb/YfyfABg BI1g== X-Gm-Message-State: AOAM531Djo34z8loPdRnnwVRzgQ5Zjqb/eYOf7OxgLfcwIyn2VgqHDEI MDhcmKKtmL6kW8mhgG2lAnYuIOLnlC5QMIknfnYi9aqNFR8= X-Google-Smtp-Source: ABdhPJz70lJS8meNR3tKH9B+L2vlq3ianulGuaf1MrtRs3FbZubrav5Tlf2iBx5TqM1MtnatBqDeRK83sBx6pOblKLY= X-Received: by 2002:a9f:2acf:: with SMTP id d15mr20726190uaj.82.1625646696501; Wed, 07 Jul 2021 01:31:36 -0700 (PDT) MIME-Version: 1.0 Date: Wed, 7 Jul 2021 11:31:25 +0300 Message-ID: To: PHP Internals Cc: Nikita Popov , Alexandr Lisachenko Content-Type: multipart/alternative; boundary="000000000000e014bd05c6845d4a" Subject: [PHP-DEV] FFI Type Reflection API From: dmitrystogov@gmail.com (Dmitry Stogov) --000000000000e014bd05c6845d4a Content-Type: text/plain; charset="UTF-8" Hi, Last week, at a PHP conference, we discussed some missing parts of ext/ffi with one of the most extrimal FFI user - Alexandr Lisachenko. One of the things he is missing is a FFI Type Reflection API. Actually, this is a simple and self-contained feature, that implementation took me a couple of hours. https://github.com/php/php-src/pull/7217 This doesn't touch any existing code in ext/ffi, just add the API that is better visible through stub: https://github.com/php/php-src/pull/7217/files#diff-3651c407d02a2a152d9aba6e484f6ae7f4c2c85fa2992274d76c0e18364c7e6fL75-R96 Unfortunately, PHP-8.1 is closed for new RFC, so we can merge this as a self-contained feature, or wait for the next version. I ask to merge this into PHP-8.1, but won't do this, in case of any objections. Thanks. Dmitry. --000000000000e014bd05c6845d4a--