From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id oLx+Mey8qmluuRgAWB0awg (envelope-from ) for ; Fri, 06 Mar 2026 06:39:24 -0500 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=VSVm2njA; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=VSVm2njA; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id B65991E08D; Fri, 06 Mar 2026 06:39:24 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 86C491E08D for ; Fri, 06 Mar 2026 06:39:23 -0500 (EST) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id DB6C74BA2E12 for ; Fri, 6 Mar 2026 11:39:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DB6C74BA2E12 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=VSVm2njA; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=VSVm2njA Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazlp170110003.outbound.protection.outlook.com [IPv6:2a01:111:f403:c207::3]) by sourceware.org (Postfix) with ESMTPS id C24304BA2E10 for ; Fri, 6 Mar 2026 11:38:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C24304BA2E10 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C24304BA2E10 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c207::3 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1772797127; cv=pass; b=nq3Sano0BXn+b2lDg9TM6JBNdYwDiQHw6J3jTwyFDeIleOKUuOfUVHv8zqDJgnklVQgV4e6YMt4+bXA9RT4A9wO7n59cKqhHY9PswuXrZf1qc9XhWBWmFGsfpjzGQkQsx1fopEGbm6dsj+4blhvJzWPNVevxqKZzxisF1O94Upg= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1772797127; c=relaxed/simple; bh=HZCrxjj8WisZxuPZ8SV+5HmYrrlOvaR+ij0xJK4c3J8=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=QYEZryH6HgNHIMvvDFyQLAFQ0uoA77fyJAD9qe2NYXdCBAuhcvs1/h4aKHWeKgyjb18wp1hxVsHFvbksMo0/Ggp294glx9UP1+Qaxu0kxDxL95Nax78/XXtflk4JmKz4JhJVYVNRArjx2tA97Tu3UAL0a9sO4aOBTXiGZWOXK98= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C24304BA2E10 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=Nbn8sXZeqyEYEDNK+kpcZz0AS4vvX10Zwbd80E6GAoNUMjQZyjrtsgIml/HDRiUZX3WClPSZhap30/oMbKazwklWXxBNthelktBZWdM0k/PVcd2uOKB2E5/gey2kWLeSrETfrmSPEACtkemPMV8ZAHTgFWdan1xMB9G/4iZTjOrOHl/BtAXSFQDxVJhMvWe+UovoLv0nXZTK03OJjYMVCWegjs3rNbArMl2D5qpW/jWdDwHL2j6kG0V/SWU/uQTggA9+UjJGC9t1FfjYoK958jrlJ1lYMamw6Pu7ThKWYnrPBX5dRMEuDPbG+VXk6sXpG/l+n0XskcJ5Dq9WfCG90A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=P90GA1g7W106+XBAoSvqjHAY4rA6vKcKMj2oVSuf3Dk=; b=w1gefVSMqB+CuaEdKRQXJBNQ/xBFruIzs/WnxnK7Sljxy07J3MGFNleLheX7Uq08n7XuhnAIqDTVuEVY3GjlKm9aVQ/1WvtMkmbUPKNztBvuiSxw05m/w42voqHqE94sIIUsWiN8X1u4s3l++GrnvhoTdPJ2hiUDNYT8eonhCMo4JjAgc718lTnoUcE3cBKQymWQsdOZE+sotyfDKXpInnufXgpr6WPEXRFDKyVfWiVjIpTZ8P6bLp0oIfoyPpfRds1XWB6KQLESGaJKxDW4dxCkmAVEqfoHMYtL3XU+U+6eoPSbB1HzwruUlTS1KMaqMskMg7UOjCfTI/rP4UwIdg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=tromey.com smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P90GA1g7W106+XBAoSvqjHAY4rA6vKcKMj2oVSuf3Dk=; b=VSVm2njAhmDXHrA+rCe8Gtq0YlKluNQeiyXYSUPiLTosdxa40kpMx7cc159/9qtSQV++nedueMAaqZmGFnvYU0eGPaeY61YUfa7IktA7+ddOD3iAvV3atkkoBsDX88fYbwIorMujYa65RS9+Cgnd3yib/D3tc1GRHtr1agcwmSM= Received: from DU7P194CA0019.EURP194.PROD.OUTLOOK.COM (2603:10a6:10:553::34) by DBBPR08MB10434.eurprd08.prod.outlook.com (2603:10a6:10:537::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9654.22; Fri, 6 Mar 2026 11:38:34 +0000 Received: from DU2PEPF0001E9C6.eurprd03.prod.outlook.com (2603:10a6:10:553:cafe::22) by DU7P194CA0019.outlook.office365.com (2603:10a6:10:553::34) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9678.19 via Frontend Transport; Fri, 6 Mar 2026 11:38:34 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by DU2PEPF0001E9C6.mail.protection.outlook.com (10.167.8.75) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9654.16 via Frontend Transport; Fri, 6 Mar 2026 11:38:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UwPEA2c4FuXqz0jjvSscpjKGhiUa08zCI4NJkB+NWodyXMW84u4JSa6+mwNWfN6Kr4bjECSxktjUie0vFotG78CtzjzCEt51wPNobXYL9IifiG81QUyBxssmdXlVoUIg/e8FyMOh251LdAPn3PYJhnDj5WXDY+edgD4eAuNqBh6dF3+j7+aYTcRzTYgil0QC6YCmLvLzrbLLv3+6l/pD2KdOVpBGC8tSnD+Drl2Duk19c0fmLy75bBdj5ujKBtw/ljkURdDaFFmlO/pRqniQQuE/HdO6ljG6hUarB0NROnN2ZBO0K9TbeAEVHvr2uZXmjV06Ez1X6OpefXmqs1i+AA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=P90GA1g7W106+XBAoSvqjHAY4rA6vKcKMj2oVSuf3Dk=; b=qY2/CtRkuerqgq1KxpbVMrAhmjFAs0T6r0rs6gAlGOK5kLhdrsPK0gn5sZZ8i7JGUceFk/zdhQHTUPyhP7JKcHlP0CC6QnTQK3+9f5gNzN2ar0lmTuSNDbcGQYW0+66moj5Qkc3I54DxPvCN/1/3tU/m9E7kE7bjoGPPzUt4AxmtXMmkOOxP/7sS8/lgMsOyLa1Xt6eNlC4XngG+9yzc1Nr1QrZLTvNb1/T7ckPnkIntz/fpm4Q3mx4P5XpyTJfgq6GZW4dx9RRQnFrjO7vuGPD+MetXYn4g5eXBR8sonCqYEGFMH/z0bjL1FlS/3hCvTtYDLh6vnPBtC9NCTcS7og== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P90GA1g7W106+XBAoSvqjHAY4rA6vKcKMj2oVSuf3Dk=; b=VSVm2njAhmDXHrA+rCe8Gtq0YlKluNQeiyXYSUPiLTosdxa40kpMx7cc159/9qtSQV++nedueMAaqZmGFnvYU0eGPaeY61YUfa7IktA7+ddOD3iAvV3atkkoBsDX88fYbwIorMujYa65RS9+Cgnd3yib/D3tc1GRHtr1agcwmSM= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from DB3PR08MB9010.eurprd08.prod.outlook.com (2603:10a6:10:42b::8) by VI1PR08MB5359.eurprd08.prod.outlook.com (2603:10a6:803:12f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9654.22; Fri, 6 Mar 2026 11:37:29 +0000 Received: from DB3PR08MB9010.eurprd08.prod.outlook.com ([fe80::f37c:c9c2:6d9a:9543]) by DB3PR08MB9010.eurprd08.prod.outlook.com ([fe80::f37c:c9c2:6d9a:9543%5]) with mapi id 15.20.9678.017; Fri, 6 Mar 2026 11:37:29 +0000 Message-ID: Date: Fri, 6 Mar 2026 11:37:28 +0000 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 5/9] gdb/python: allow ref_ptr::new_reference to accept subclasses of T To: Tom Tromey Cc: gdb-patches@sourceware.org References: <20260303161659.397427-1-matthieu.longo@arm.com> <20260303161659.397427-6-matthieu.longo@arm.com> <87v7fcrd2x.fsf@tromey.com> Content-Language: en-US From: Matthieu Longo In-Reply-To: <87v7fcrd2x.fsf@tromey.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P265CA0178.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:311::9) To DB3PR08MB9010.eurprd08.prod.outlook.com (2603:10a6:10:42b::8) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB3PR08MB9010:EE_|VI1PR08MB5359:EE_|DU2PEPF0001E9C6:EE_|DBBPR08MB10434:EE_ X-MS-Office365-Filtering-Correlation-Id: 165f8749-108d-4a5c-04fb-08de7b74e600 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info-Original: HHhTXW6QBFKbJcyyq29A7t4O47vT7NKXhf57uR9k1Tbc7j0InH2bSDnpH8egX+2q0PeP4ryr45UJz6sx818eqj2aBMGHupaMil1Wlgv5qkIO5rK2aaI/xm9z/vIcc+fddf8Uz0lL6CXfOtYpA5NJDJK0HKB2xj6lrFpn13CIQ9f+pfamG29sWExrWkoHKZmexrqxPdNT7YdApFhRdggk63HWHVsnflsr0BWl5KjtZiiULpmrIeuQ4DtrIQfmyIqNAZue+ONV4VXvni6DjoJ6GJ/1Knq6LDimWc/zvPUw141cDvc6GGUEUgOLMvPEghUSJRYcXvyyZwhY2HThDuP7wZnpcqMFq2cLu7K/+B1K6GilyHLNqWALi8HTCosYNpLcxjsOOBABQJY/rNh2xwiGF7fG9a9Pdy+ejJI+c+dsNqpWM5rTnf4avOptyB5AVveeSNFqTn79jZvTMcyUABMTFS/OSTdOXIUsTYIpGjM7QR4YgsVrXUK+oxu0b9sTwDTrnMNBc55SIzYW7KdGUPMtErp+obNc6PEZRmCR8xLROVmqdoGJL+wRcG1xPWYrIa/9Glgv8lhg016vdINUWlLeSbSkSPdn9wt6cd5b7iWxaUbo25YAd7X7a6jDZzwj49pU/5h4zAla3b5fW2ZTWOISVewizxAm1smnplGRq8pex6XKJj4OMegsep5vBCAB/QLSLOYCLjGh5roATgJ2LvmspRFlpR3/nXtL+msY3EYulnA= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB3PR08MB9010.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5359 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU2PEPF0001E9C6.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 83182195-6b78-4302-fad6-08de7b74bf6c X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700016|35042699022|1800799024|376014|14060799003|82310400026; X-Microsoft-Antispam-Message-Info: f4feq4BqZtLszUOg666qMJq+RiACX3B90nQ6AEtNz3phnLe+0QWVKguwyurgesB+43dLIhfni3og70HA0mehSHrABZsg2ob67BhVPogYGu3LmwR0V1ho7cXiPtsEHRiCHxUzu1B68qWOVJ0rfpnIwI4sibGjPndrOPYzrCFHdRmXK0/BOaWqbgxBcM7WD0vS8QpPh0fa+mr14NT2pkVXKxlrfkwAczCSuoG+AoZOX/VqutULaXqyaKyUGmT6KcfnM+YpW63lCc2iEtAy14KYkLgM9UUPKGx7ZHBJTvHlSRZQvyZWZHtZBgIIC+SzSISg5/85XAJWRbNGZwpnoz5Qljm1/LH38yK3TfoTtdiU8ZkTJb83htEuBeb+qk4pgT4MYnBJ9gvJkJ+3+FnxDBsa8gZlfw2U4f8IIVFJmxTJx3tGccYPIjb7U/MRNb5kc/SqlM6Q289/LKYVKIspp1yMH9mAoWKqW5v1i4teBoLa+SGPhqZwr8tq7EXcHFFCT7hXfXCrLUOY7u4ynLjdkapzSezzsgXNg6yvgcdAsAD7P1sfNyTEKwN3gd69xgmTj3O6ORijeBj4tCAwk+CGTZv80vlz50KAouL1pxEK6+DDkTzDJW4aXhimjUq35/jtRNqjY6VwW0wjDNRNbhnZNKJOKED7rjWcrrdNBCI6qreS5+zhfVo6kFMF2cemqGQEQxjvdHxgi6HICD9CyhI1V5eWC+Apt1lHktaEaMZsM3HKJ5xLz7UJuNc+h1c+RyRaTrGi3cfjTzA3x1Z35kR/d3a5ew== X-Forefront-Antispam-Report: CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700016)(35042699022)(1800799024)(376014)(14060799003)(82310400026); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: GiS4qYIkGAAJ3eBG+XMIAx2kfHyRFLiwnZiTJ1L2TksFYl2tEtKTvUAKAu4Ccod1rJtW4C5Y/W4jTn8Y/7xAJtL04gApeMYk4PT+JoUzA82rOUpDd26zXuThBuzaeLL9mjL+kHp30pGcnyIYzNIz4v4956uI98JtvWdNWB9IGjxBFXgSrCfxffhuxaqeHOa0YpPvTK9kXvcy/9HVYmk/9WxFNfSbxgq5yVBVqnKFTRl8M3YJU6/cLp6bKkO7av2V6Jk5mOKTwDIoZD2BVokwodQ9HhMJ6OuItjZ8FLJ/dvJhn19XdFMyYWtvR2KYKAsV3BPcjy4l0dl1ujiADX0QKX5RnWjgMxnaAS6p7mNnLeKWaT0zroKsiXsoJq/L8/vTQdG6ZHQgD9A6UsTE8/ADO4YX8vuiFkS/iYcLv8qodrTFgMBl8GBPsBPc6+aS9Prr X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2026 11:38:33.7907 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 165f8749-108d-4a5c-04fb-08de7b74e600 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129]; Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: DU2PEPF0001E9C6.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB10434 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org On 03/03/2026 18:18, Tom Tromey wrote: >>>>>> Matthieu Longo writes: > >> When ref_ptr::new_reference() is specialized for 'PyObject' >> (i.e. gdbpy_ref<>), it currently requires the argument type to be exactly >> 'PyObject *'. As a result, pointers to subclasses of 'PyObject' must be >> explicitly cast before being passed, making call sites unnecessarily >> verbose. > >> This patch makes ref_ptr::new_reference() a template method >> that accepts both T and subclasses of T, performing the cast to 'T *' >> internally when needed. This removes redundant casts at call sites >> without changing behavior. > > See this series > > https://inbox.sourceware.org/gdb-patches/20260221-python-ref-simplif-v1-0-5b06f48d3096@tromey.com/ > > I can land that this week if it's convenient. > > Tom After a deeper examination, I am not sure that your series helps much for this patch. * Case 1: return value from the registry. PyObject *result = (PyObject *) cfpy_inferior_corefile_data_key.get (inf); if (result != nullptr) return gdbpy_ref<>::new_reference (result); If I had gdbpy_borrowed_ref available, I could replace the code above by something like: gdbpy_borrowed_ref result = cfpy_inferior_corefile_data_key.get (inf); if (result != nullptr) return result; /* assuming that gdbpy_ref<> would have a constructor taking gdbpy_borrowed_ref. */ * Case 2: registration of the new object in the registry and return the value. gdbpy_ref object (PyObject_New (corefile_object, &corefile_object_type)); ... cfpy_inferior_corefile_data_key.set (inf, object.get ()); return gdbpy_ref<>::new_reference (object.release ()); I could change the code as follows, but I am not sure that it makes the code more readable. cfpy_inferior_corefile_data_key.set (inf, decltype (object) (object).release ()); return object; If the registry was storing gdbpy_ref instead of 'corefile_object *', I guess that it could be simplified even further to: cfpy_inferior_corefile_data_key.set (inf, object); return object; What do you think ? However, I am getting further from my original objective, which was only flattening the code for upcoming changes. All those improvements seem to me out of scope of my original patch. Matthieu