From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 0B8523858D28 for ; Tue, 2 Apr 2024 17:18:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0B8523858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 0B8523858D28 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712078298; cv=none; b=hdV6r+qVF+n/KaxhrUUY6xNjj3uZTvFo9floVTNSUKHuVQRk+PYeK/K288O0TzBfEAK0C8RB3W3CNPDOUX9nyVgU34RF4smeO8NwBOcccOQy8wQdcADyhxYjHgrxxrkUayQvyKegQQfD7SQ56lvs+Fg6k1x1yvsLRt6aHWC58XM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712078298; c=relaxed/simple; bh=2XTW/pwg9o/gBap7VuRD42LrejN41Yq4RJRpaj18fvE=; h=DKIM-Signature:From:Date:To:Subject:Message-ID:MIME-Version; b=TQWesx8CuXQ1SGf41vuXdPT3+3rp9J6K8Cc7IULBw4KPsasrARpaswOfRIYPWMrItN39Izu2J0yI1ajPgmxQphoawjYhcfZvqtdzkl8nURPrglz29ccaQa/PqVl1KYFUv3iuViTmkOvgpzVw4HOOzeJYiLSPq59/wYKt3Jk/rIk= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1712078296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=r0NaBbJSFYuTPNjs8GcdouPTeFcb+33O8sQMHKdI5Ko=; b=OvaIh2tHxKXqGcBMWJOSfR87Uu1OC5SOjGPTTUC/DcJLVP2VuKZMsra3ubPftsHxyp3SnQ vPXOriSgDfhDckTknLiOyg5IWYWlkktvAjkLOLlmhmrP8q7Wkiqu+rPf7ptgpZzo1+vPuT A4Qb2QnnPUjngZT9gJgXYsSBt/qXkvs= Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-493-SRgaze25PmmwRilOdMi2sA-1; Tue, 02 Apr 2024 13:18:15 -0400 X-MC-Unique: SRgaze25PmmwRilOdMi2sA-1 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-69905553c97so22884086d6.2 for ; Tue, 02 Apr 2024 10:18:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712078295; x=1712683095; h=mime-version:references:message-id:in-reply-to:subject:cc:to:date :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=r0NaBbJSFYuTPNjs8GcdouPTeFcb+33O8sQMHKdI5Ko=; b=mzilVbwbt91PzzQlhBxVZUFtl0TLfIuzjsVx1B7BGAP3d92BzlEsLXCj/WnD59TlLN 0uOFb38Z4IKqZ2+Zgxgdqhw6+2a/Cn7Q5ICfruci+Qkb6GpRJSDDFBzgWNfpiIaXFHLe j/+eLYlCulLjWMjiuh43g4O50uY31vxpPymekcj5yoymii73M6pWTcE2FPSZmt+1iJXC Wh9ZB89UPOFFjzF7Ckg4hP3kPb3oac13jwDYt+rAQcKh1nVY6VPcKoL8n3Iq81B3cz7k ZFXGL9u0h9kddT8FbE4H4CDN3xQZkkzT5NF5KH8dh57yiUFhsGojWQr2DN1O3COmGdNt l0OA== X-Forwarded-Encrypted: i=1; AJvYcCXTysYoc1ZE5zIvRj7frS5bamuUavZnd3uRVapqyQ8g5FOj1ZYmhw6O18BzI5Ld3W9L+JwSFspLobhf6kmqslH+YoViSjA= X-Gm-Message-State: AOJu0Yy+lxk6o6x1D7m+NftIonFnCiidmXHxw635XyaWPzf7j7ktGr1B zRDURZGUCwRerda/q1WJLrhk/XYqGkQisnkPacbBuTaSuYB9IMoRySwNkCZ4xI+gx9QNmFQmT7q uMWpFptyurXzlXDuY6+H1WCAF8mCOV2uXpRKGmyQQeEe124CDiDjA X-Received: by 2002:a0c:ed43:0:b0:699:dcb:a295 with SMTP id v3-20020a0ced43000000b006990dcba295mr5409900qvq.46.1712078294915; Tue, 02 Apr 2024 10:18:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFbx9Rp8AubtL/Z/CbGPBMHI7MAt69WNVrxyCMz31dTVEEkDmO7DfdrkX5oznCmZT7xdMi/qA== X-Received: by 2002:a0c:ed43:0:b0:699:dcb:a295 with SMTP id v3-20020a0ced43000000b006990dcba295mr5409889qvq.46.1712078294685; Tue, 02 Apr 2024 10:18:14 -0700 (PDT) Received: from [192.168.1.130] (ool-457670bb.dyn.optonline.net. [69.118.112.187]) by smtp.gmail.com with ESMTPSA id nw6-20020a0562143a0600b0069680936f00sm5679769qvb.10.2024.04.02.10.18.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Apr 2024 10:18:14 -0700 (PDT) From: Patrick Palka X-Google-Original-From: Patrick Palka Date: Tue, 2 Apr 2024 13:18:13 -0400 (EDT) To: Jonathan Wakely cc: Pilar Latiesa , ppalka@redhat.com, libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: Re: [PATCH] libstdc++: Allow adjacent __maybe_present_t to overlap In-Reply-To: Message-ID: <5db417d9-52e9-e701-2644-5802148e8339@idea> References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=US-ASCII X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Tue, 2 Apr 2024, Jonathan Wakely wrote: > On Tue, 2 Apr 2024 at 18:00, Pilar Latiesa wrote: > > > > Just out of curiosity: would this also work? > > > > template > > struct _Absent {}; > > > > template > > using __maybe_present_t = __conditional_t<_Present, _Tp, _Absent<_Tp, _Disc>>; > > > > That would avoid having to type 0, 1, ... manually. > > This is subjectively horrible and, more objectively, would create > longer mangled names and additional RTTI. Yeah, it's a neat trick but probably not appropriate to use within the standard library. Another reason to avoid it is that GCC's support for lambdas within template arguments has some known bugs (e.g. PR107457 but that should hopefully be fixed soon).