From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oa1-x31.google.com (mail-oa1-x31.google.com [IPv6:2001:4860:4864:20::31]) by sourceware.org (Postfix) with ESMTPS id 5F842384F4B0 for ; Fri, 18 Nov 2022 15:05:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5F842384F4B0 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oa1-x31.google.com with SMTP id 586e51a60fabf-13b6c1c89bdso6190196fac.13 for ; Fri, 18 Nov 2022 07:05:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=vqwnCquEmqM09v4CJ7e55FBHHR3wo/5B5k2cpae3JJo=; b=Jxs8wETRbaoLZeYyJ0/M8H9qmIfCq3cgdJZkCFBQJGp54fs3qMx2g24KA8pCWqmaf/ 06x54/OmSvQYYCk2sHYgYeW0sTUecpJoND2mMhUr6fmeZPslR6bbWghReved+EWAdzdD XQxjJxJB9a4In67+JHJhokwJH9p2tCiYSSbBl0FyGx3mZGbh84zfS2xXez+zY/vimerj w4hhRHE5CPxKIoPHs4sTr+bEpW0yda2jd+lsR6nTLhvQ28TGPpp+sDXUQ1RivEDrSHXn cfRZ7yuF5Fft5jqKf/NP9WYn3waq25VkLa8FhBLLizhgikkSpCC1G89psJ/AZSQClZSB PERA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=vqwnCquEmqM09v4CJ7e55FBHHR3wo/5B5k2cpae3JJo=; b=0i/TAIBxsY8bat6SMMae4xw3De2norovSwJ3Ex36FDAonSnSf0MJnNDFFc4AKdjJhs jTj8WaJSNUTmgBzFfQBEvkvlzD/8c87EspJp3tY2u9zfc6D2mroaJqT7Uc/mYgf1/kAE XYQ/gmnTsAQThzxjv1PCRZ+2QeNrixBLNEOe4f5cf9fsJvbdxPglsCKUJCCulCNQWTSU QJhcHfxB90TsFT/K/sfF/iO3MoNznWveHtvhYbWj5ZTGe8A8lwyUyd16ILcWgKIPRevF abMYln9Tdw+ydPrZv8bXKRdrQr4Yc83XYZ4NtfkmQtz8ugIY9+y4HOt3YWqHCZg/ghUj RQGw== X-Gm-Message-State: ANoB5pm1nSkNECzSW6BVLm++2qWWo2guLZ/3Wddq7z36Ekg8h03hzEz1 BPVxJ0Twk0p/JkcGPL8AX7+MtWprjRbD8HFnvKjTwLJk X-Google-Smtp-Source: AA0mqf7G5tWrRTM26oCf21xd3UCzNKA603O5QTkt76h5IVQQzYK4ix/IwaqBobK6FwzGO9qk8bCeckEansPVTk6zY94= X-Received: by 2002:a05:6870:d5a9:b0:133:1ff7:b1b8 with SMTP id u41-20020a056870d5a900b001331ff7b1b8mr4223449oao.175.1668783944630; Fri, 18 Nov 2022 07:05:44 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Stefan Ring Date: Fri, 18 Nov 2022 16:05:33 +0100 Message-ID: Subject: Re: Guaranteed copy elision To: gcc-help@gcc.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,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, Nov 15, 2022 at 6:48 AM Yubin Ruan via Gcc-help wrote: > > To be sure that a object would not be copied, we usually write something > like > > SomeBigObject obj; > func(&obj); > > while in most of the cases a one-liner like > > SomeBigObject obj = func(); > > would suffice. > > Is there any language facility to help us guarantee that at compile time > (such as some kind of static_assert() ) so that we can be confident writing > those one-liner ? Interesting question, but unfortunately I do not have a good answer! I can only bump the thread. ;)