Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:130822 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 387D01A00BC for ; Mon, 11 May 2026 05:33:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1778477639; bh=3G5w27C0dnMwvT6tMwrKuWZua+EaqtnmOAcYT/leQUw=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=jPnw9UBXmy1s8sfTKmZCS0Sp9mldGTrz8xf9Nh87nrWaFyTkVjNT/Ki+3UiwH9fQ6 AOwOyx6GoE9leQKE3d39vAXf9THkxMBxiC6FbYXy+qimsmJEcCTfYuX8mnQONGk/dQ ZLI7i8TRwURt0HsJ22tB7tgM5h1c8IGADx3r9AW4jfxQPQ8/d8HlzJR1lRPo//Vi+y 5YBA8TLU67IIyMCRBx0/j+rq+1bm3YKXC8vdzoRR6WpGzaD9GRrfkfA3wBoE4ExU0M ooBvxyz7GRE0zw9MvXg50BbCL3rvxBJbIXGWmybcdeKljem6zuhPVoCp4RdJ5EPHIR UftmVvsNx+gZw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 096BA18005A for ; Mon, 11 May 2026 05:33:59 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: * X-Spam-Status: No, score=2.0 required=5.0 tests=BAYES_50,DMARC_NONE, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-oa1-f41.google.com (mail-oa1-f41.google.com [209.85.160.41]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 11 May 2026 05:33:55 +0000 (UTC) Received: by mail-oa1-f41.google.com with SMTP id 586e51a60fabf-42fdab683a9so2953844fac.1 for ; Sun, 10 May 2026 22:33:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1778477630; cv=none; d=google.com; s=arc-20240605; b=E3IRnpCBoYIWEk+rqqbY27iX34EfE9Cs9HhcKwU5vxRWUWaFvzH9ov8E/WDDiB9f6w t6U1WV/2t6PLmDLwfn3dzez4WYIsQYWno7PTNuDe8/+RV9tIVmdpYY3amcV8PBZGxiUL kZAfMm4GG3AyiJwk2izEEYgPlwOiRBFLndCCJ4N/QBO6xaKPQJ/OVA3LhmcR9crBtlev 2QryPfCE7XZVWHck8gJl9gti1yVciPFE0PfZD8Ic37Gsj5iny1OuW0oSbMVqYPhDCOgF SQvZ3coh7DnteKUz6BBtePvjDsv/WnPrL7uYOG8J8sms1Pg8de/2eQBdTinu0aJGGM3O fPmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=3G5w27C0dnMwvT6tMwrKuWZua+EaqtnmOAcYT/leQUw=; fh=Uq2sza+XKb83pT84/NMvQJrybTbbqcTGgGhHlLJ69kA=; b=IoYxOzOkbZl3IuIvN+5bU/mpf8GIKED5jiMjU0kkfPtc8IMdkxtl861ir5GxsglAkS Alzz6HGegYzkZBkZQKEC/nzmTt+Ql3Of6q9WOCqa2Up6YtaCV9JJJ5v9WPcXz4SLNsC5 DsPIUlOuABKvxzP0JZ9fy/Al8LT64PjN6MieftxwIavrcynzTNVNSgHYtkY24GkQdGN3 3Eg9aXdIMpPosCgPy2tvSdqTA+93H/Rct0vlgu0INbdzte+PPUA8M0fQPOvOdqI62Un7 pJTgVX5f+5D/r6KOgap/O9C85IWnxHhiSF8dGFklW1zF66N+e1apWROcIcYbyJkMUdvb cGhA==; darn=lists.php.net ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778477630; x=1779082430; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=3G5w27C0dnMwvT6tMwrKuWZua+EaqtnmOAcYT/leQUw=; b=ZQA7qCF3U1rrsTlv1iHK4mxQLNVAmowh3Qi6p4iuRBoMyZNoigbDgf1NlOkMpSsdL/ Rh9Bm7ftGsXyyePEZ5tak5qzjciRxD8B2WDuopPaGy0XOu2efENrMXVWAQJpLQ0Lj0L+ 5YEOuXhfNyp9doGqpVNCIkAZLqLMxMDeKAFftJSwebT5ZjH9D3h7BWHXQ0J/slr408nO CyIcm35VB0C2PPe016W14zVJn2ZYyz+NClpg6pPQXCxHMIYuA+rchMiqjZZwkfdw5MJx ZDamLi1KKgbkVs8A6ABppZLSQ+lc8JPbvHRp+txLSmve+UJdhlpidLlhVV75IfqnCxFI iTcQ== X-Gm-Message-State: AOJu0Yx7UuwfbZ0ciRfPN5l0+tJ0hyEQSw+5000MyUgjnaYf7Co5b2fb rbmX1bK9ChR59O0H3YxOyHAKLv4ILl65TNNplzRXgipvmA4IqaGgk9TQ6Sr6wS3CRhr8u5kYUUC MNe7YboDsZkmF78lmR04j+Twg7E2vP1pOMovkvFw= X-Gm-Gg: Acq92OGB9aH++n+S5DirKXsXn+5mj3/7dURe2kov4oTHdLtpG1OYLErCyCXjzDwiiLA Rr+ZAtkHmr02w+J6rum8GrmMWEF1q1rEu+gHZOsondUQwHre/x8Fb3qxaALQtpQcWidScyvv3zq j8O1Fl54OqheQPisnFmjuWuedTkJAcaZPvh0yGngDslkmNSABTBhr8lAsqE+EpQRtYTJNWVV3nQ KQmyPld/mmmrtg9lFZJq6diY809W42eWGJqCoXYuj2HA5/3bVFbsht4QY/Mcsb3LYRJ1tWzyjBY kczMhzNXhIltURXE X-Received: by 2002:a05:6870:5b83:b0:409:5241:8abc with SMTP id 586e51a60fabf-434f663d2e2mr13843858fac.20.1778477630021; Sun, 10 May 2026 22:33:50 -0700 (PDT) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: In-Reply-To: Date: Sun, 10 May 2026 23:33:32 -0600 X-Gm-Features: AVHnY4IjocJCmRpf3pHKgoMLGRYGuxug0g8qLSfn87lndVti93_AdY2thFtwQKc Message-ID: Subject: Re: [PHP-DEV] [RFC] [Discussion] Bound-Erased Generic Types To: Seifeddine Gmati Cc: php internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable From: levim@php.net (Levi Morrison) On Sun, May 10, 2026 at 1:05=E2=80=AFPM Seifeddine Gmati wrote: > > Hello Internals, > > I'd like to start the discussion on a new RFC adding bound-erased > generics types to PHP. > > Generic type parameters can be declared on classes, interfaces, > traits, functions, methods, closures, and arrow functions, with > bounds, defaults, and variance markers. Type parameters erase to their > bound at runtime; the pre-erasure form is preserved for Reflection and > consumed by static analyzers. > > - RFC: https://wiki.php.net/rfc/bound_erased_generic_types > - Implementation: https://github.com/php/php-src/pull/21969 > > Thanks, > Seifeddine. Seifeddine, This is a very interesting RFC, thank you! I have a technical request: can we lower the limit from 255 to a 7-bit max? I've done tons of optimization work in the last 8-10 years of my life, and having a spare bit on things for the future has often been rewarded. And for me, I can't imagine a use-case for having 128-255 type arguments in practice. Do you have any evidence that a 7-bit maximum would be insufficient for real-world code? Thanks, Levi Morrison