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 [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id DE736389246A for ; Tue, 15 Jun 2021 21:33:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DE736389246A Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-533-XC8eKjScMHyo95T-MYmmAg-1; Tue, 15 Jun 2021 17:33:45 -0400 X-MC-Unique: XC8eKjScMHyo95T-MYmmAg-1 Received: by mail-wm1-f72.google.com with SMTP id u17-20020a05600c19d1b02901af4c4deac5so318196wmq.7 for ; Tue, 15 Jun 2021 14:33:45 -0700 (PDT) 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:cc; bh=GbSZ4qTqiq12Z+YvPtWiBGDFC+UejXGlnEMqpb2p0yQ=; b=LudK10ChY/3wWoAUrcLoWWq+8aVxqYV7mniNnLIn1NePK0ZpPNPg+ujoD6KGqY1g9/ 6487RyQw0jRnFW2WYBD0qvq9+4K4b7sp6cnQkel/osbEtSC6Zun+utpQgo44+T3MQ5nf GNFFVh9q4sAYx8aG0BkoCdGpsAujOD00GJxeDK9EFk3ZyUz9DLCdqnxlp5sZjkl0Icoe fI+E/HOvue6PjjVJWw9fVXkjaFLPz6RWRqXIfCPIgc79dZPTSPQG6xlCbR6IoyVTai2g 6lARi0g2zO8T0s7wyDcmvGX9gsNPAGk6jyGmeTTpzv3cU0II22yvTku3EvM6ym6s24hq rgPw== X-Gm-Message-State: AOAM530VHD/DeQxCT0zp+EzsR8Qf+QekRC5L8YIuTIepS0HiwZxhdrU3 PWIvkEQUiaPIGWHZFNNk5mgF9tJe5NExbotoPiJextrEwhk9YvnNt58/tU73JVQBUGo3wy+pb6o Cub5b3T93s+4yWQR80rAVR3mu7Vft64E= X-Received: by 2002:a5d:6409:: with SMTP id z9mr1235799wru.279.1623792824390; Tue, 15 Jun 2021 14:33:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz6Mbfq/TDHIWq34QCCYS9X+8gMn4BTNS7PbOeKDSXfYRWdzPKE2Wi9vr4BaVGdHx3xO0T8bf4UyhLX8+DCTmo= X-Received: by 2002:a5d:6409:: with SMTP id z9mr1235777wru.279.1623792824107; Tue, 15 Jun 2021 14:33:44 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jonathan Wakely Date: Tue, 15 Jun 2021 22:33:33 +0100 Message-ID: Subject: Re: [committed] libstdc++: Make ranges CPOs final and not addressable To: Tim Song Cc: "libstdc++" , gcc-patches X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Jun 2021 21:33:48 -0000 On Tue, 15 Jun 2021 at 21:32, Tim Song wrote: > > CPOs are specified as actual semiregular function objects that can be > copied and constructed freely, so it seems a bit hostile to make them > final/non-addressable? (It's debatable whether the type of a CPO is a > type "specified in the C++ standard library" for which [derivation]/4 > would apply.) I noticed that libstdc++ was failing some libc++ tests, but that was only for ranges::advance etc and not the CPOs. I guess I got a bit carried away, and it shouldn't apply to the CPOs, only the [range.iter.ops] "function templates" (which are not really function templates).