From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id gcnwJEsKp2m9pBIAWB0awg (envelope-from ) for ; Tue, 03 Mar 2026 11:20:27 -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=miZzUS5r; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=miZzUS5r; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 90DB11E0DD; Tue, 03 Mar 2026 11:20:27 -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 038481E089 for ; Tue, 03 Mar 2026 11:20:27 -0500 (EST) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 856A04BA23CC for ; Tue, 3 Mar 2026 16:20:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 856A04BA23CC 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=miZzUS5r; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=miZzUS5r Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010060.outbound.protection.outlook.com [52.101.69.60]) by sourceware.org (Postfix) with ESMTPS id C87144BA23CC for ; Tue, 3 Mar 2026 16:19:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C87144BA23CC 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 C87144BA23CC Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=52.101.69.60 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1772554752; cv=pass; b=Gg38dPd9C/4y4+iNt4bEOduxEdpUXcvKLul1AbaIcJKVxWqUauqbm35HrsqtRNllUooUEKTF4N7AtfBUGn2u0Ri0d5d63qUB9lS7Hrgeh2bqkQnEyazGdjkvyVRyQky1c1MsRgoTCeuton7V3mcx9FEgh5Ux/zf/OtxQsoLA/aQ= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1772554752; c=relaxed/simple; bh=rqLOxLja6FN9vdEd5XirLjmYqlhlRMUZCuvIC12JsQ0=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=K+pR9SvYkIDPOwAt6nU40EL3aqm9j7xZoD8BaVjc+1IaXW7iYsQB0k3zMRVC0gmrvHeBku+5MT7aQX+NM4l47EqqnS9HJ/JMowGZQOnElCIB2UOG7Zr9153PvPblPTJ+lzVfDr6eTfcJ43Pr2Z0ZtTrIY844JlQj/o2601JSv/c= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C87144BA23CC ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=Q1KfLq3SS8xroa/91k9AnB8+VW3/s9kbMytaP6Wbaj9OBj/JobT48KQ89Yi3OBzrMNTjTD8LQfL5oN/neR5LJkelr/om0N++ZmCz14/KKbXMmA1NUHfjVfaFW7sfq47Gi9aV4zk76ymvXpemCwqjz1pD6pFb5UngbBlLTmY84jDPjKGH7npbRHXwDDEUOdOzVAHNz+ZvDwkxAXCE6xOWvoKyENheZG+auX8M49/xMgid9uP8azMEFTzFKakaZ2XOthFUCLoKodziaHlvnZEke7GohgI3aUBYpmt587FT+yOwutPOysWj2oKyjw57GDDEwL71aIkYDdCMufgzdRVqUQ== 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=6Jn1viAeN90hYbx57LTCCslNNTYvTaI5AbxQ/RZUeb4=; b=I+QZL8eCJK/EXREdVpVXPI0pqRJ1HBa8acUcGu27nW2+0oNcAAz0WV9w2OetBkb1E4wSVXKB/PP0QBHYX74mygqsr4e6N+N9kZqtwJlvqz0nEmyWMEFmzS6QE+91rvPYeUOdmVLy1yXWwXtF7HH7gI0+rNaUi0zXdTi58mtoEfLZPVBCAW/GuJ7B+GcnTeEIh+WEIkk+f7J93+Xdgkw2xN32MZPat69Ga8pWgeOpTwJaHGZ2YFLgZFowpjT+tm9pTF3nDuahu1oIsDruXZU3SOIGpL9csTVn0E0CQGOA5V3dIefJZG4SsrA8llqo6vOsoUqz0NRTR5Vbhi4cD1GYBw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=sourceware.org 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] 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=6Jn1viAeN90hYbx57LTCCslNNTYvTaI5AbxQ/RZUeb4=; b=miZzUS5rMJ3i/2lA/QpDeSlSZEATsq63u5kvP4bREAFd8klXrlVMbZO1sMrCkY31Ff+qd/GKB3ElrI4pZGelo8g5yksLWSjuKBP4QPZt57IFi+Z3rga5vAJ+cm9ftdSRcFL5opfYSR6Dysl9YOk3xS/zNRh9HcD91w/jb6kGyBU= Received: from CWLP265CA0425.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:1d7::17) by AS2PR08MB9545.eurprd08.prod.outlook.com (2603:10a6:20b:60e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9654.22; Tue, 3 Mar 2026 16:19:05 +0000 Received: from AM4PEPF00025F9A.EURPRD83.prod.outlook.com (2603:10a6:400:1d7:cafe::54) by CWLP265CA0425.outlook.office365.com (2603:10a6:400:1d7::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9654.22 via Frontend Transport; Tue, 3 Mar 2026 16:18:44 +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 AM4PEPF00025F9A.mail.protection.outlook.com (10.167.16.9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9700.0 via Frontend Transport; Tue, 3 Mar 2026 16:19:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YPKudYQu4KwlV/oXsYrd87gbuGC7oEkDZxn6eAl3FlfRxqL1WttgVQvMtngI/+JD9UNl9Hjs7+N1IoloTCN6UMqcECHGnun/QBeUNQ4uLWkJYaA1fhOft+ja5qCyAVTU8TW+QahU2kD/yAegxzB9F+ANn35B+5ybQPazwPu2wLSPCl+RGJRNyBc10IxFG+ZDL59/HfWsb6wahXrr/Paq98wOsMxXd6yL6tP+lNv27TdNuyNewOFZbz1VKOEvexssKu771zAdI2fKVVnCwBGUqiDvpx7Ko+9QmpNurVIruRXDPrG1ZLTPPufHhFqcGsoypIEkbIlHXIsiJvmLZr00Uw== 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=6Jn1viAeN90hYbx57LTCCslNNTYvTaI5AbxQ/RZUeb4=; b=rszAdvbRdlFTzkITiFVPaNgtuTG2bVN399ep5+TEBn/7YZ+iCx8LtW3VoV1ljmy1iLLAjw3+Ui8x2mfyMXFZQHmDrFT+4pkrBkmEHplzakRHZemRa7wZGlkSf1/nBjjTxJm3rZSJjKfOSk6FZh5uH79Zl4jg0/BDrtuxkSj9ncBSwGvZiNudMjVjpMcMaFRVim+ZAfZxZb5zgGa/dyxQTEAyFrTcDo8xfvPB1hMzxADEY4q7CmpGR39nha3H4Y7N/pkd1jopJFe3BgeTCUVde4WAyVWZ/tdtM5R48aZh/YlhsSTqa7Tw4pYJsrQm44XDm1b/ZkT9nzWV2ocHJMMa+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 172.205.89.229) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) 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=6Jn1viAeN90hYbx57LTCCslNNTYvTaI5AbxQ/RZUeb4=; b=miZzUS5rMJ3i/2lA/QpDeSlSZEATsq63u5kvP4bREAFd8klXrlVMbZO1sMrCkY31Ff+qd/GKB3ElrI4pZGelo8g5yksLWSjuKBP4QPZt57IFi+Z3rga5vAJ+cm9ftdSRcFL5opfYSR6Dysl9YOk3xS/zNRh9HcD91w/jb6kGyBU= Received: from PR3P195CA0023.EURP195.PROD.OUTLOOK.COM (2603:10a6:102:b6::28) by PAWPR08MB10305.eurprd08.prod.outlook.com (2603:10a6:102:367::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9654.22; Tue, 3 Mar 2026 16:17:59 +0000 Received: from AM4PEPF00025F9C.EURPRD83.prod.outlook.com (2603:10a6:102:b6:cafe::23) by PR3P195CA0023.outlook.office365.com (2603:10a6:102:b6::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9654.22 via Frontend Transport; Tue, 3 Mar 2026 16:17:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 172.205.89.229) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 172.205.89.229 as permitted sender) receiver=protection.outlook.com; client-ip=172.205.89.229; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (172.205.89.229) by AM4PEPF00025F9C.mail.protection.outlook.com (10.167.16.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.0 via Frontend Transport; Tue, 3 Mar 2026 16:17:59 +0000 Received: from AZ-NEU-EXJ02.Arm.com (10.240.25.139) by AZ-NEU-EX04.Arm.com (10.240.25.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Tue, 3 Mar 2026 16:17:58 +0000 Received: from AZ-NEU-EX04.Arm.com (10.240.25.138) by AZ-NEU-EXJ02.Arm.com (10.240.25.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Tue, 3 Mar 2026 16:17:58 +0000 Received: from PF4S4363.arm.com (10.57.82.243) by mail.arm.com (10.240.25.138) with Microsoft SMTP Server id 15.2.2562.29 via Frontend Transport; Tue, 3 Mar 2026 16:17:58 +0000 From: Matthieu Longo To: , Tom Tromey CC: Matthieu Longo Subject: [PATCH v2 5/9] gdb/python: allow ref_ptr::new_reference to accept subclasses of T Date: Tue, 3 Mar 2026 16:16:55 +0000 Message-ID: <20260303161659.397427-6-matthieu.longo@arm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260303161659.397427-1-matthieu.longo@arm.com> References: <20260303161659.397427-1-matthieu.longo@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM4PEPF00025F9C:EE_|PAWPR08MB10305:EE_|AM4PEPF00025F9A:EE_|AS2PR08MB9545:EE_ X-MS-Office365-Filtering-Correlation-Id: ec06360f-e98d-49c6-40b9-08de794096fd 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|82310400026|376014|36860700013; X-Microsoft-Antispam-Message-Info-Original: za/vOu0Yh9EU9Mp2VgWlrMJ8Xslcho3MJd79MIjGa/ZURXYXR+IgEGoCV9cckRQTLEDdWl0dhfgz2QqfD1FwH6ZiSK4uNW0lmEMWoU1iZk4uPTt+bRlBs1s0NDUo0M88Xt46KyGjnKDjU90yxtG6XuX0yiJbS7TmxdoHdYMkoijEtl48LPbYwe9+P1tb9lJNSFnpukeTsMoZdRxWIcKC5eaQy3DLkqLKuEvwaYceQAR6PhIMgCIpY5aM1M4KfWR+SoDDf8hJfx8VYaegouAqjpT9iFt0TNdL9GtVc4p7X1sTLU3S7qhvzzdk3BGo7zbiZpUg7tv4NkDZcfteoAzOBmMULMO6EYY2fKEUKZOGE6zkHPlKttOz1uNUxBo4CIp/WvRGv31MGi/C61v+JVGxNmstx11b5lqTw6uK0Y/kKy6u6i8KxC3O7WNBsbTkcS1s/8ntnZPZm3swmyPc4P/v0u1R+uAp6RTMGpdBOt1JCJ25uxz3nTT4unW1j9DRKunVhDxhgm2EUCNVC1A2r4a8Qk8H/KSZvTe7SHkt7CdkH6cbK09w2HEDJFJTT73mqKp8j6KX2qMHNTxGNGdnTexe9V60+mxzQH64G8enpkuHCbRSkMRiCKj6/tb4TOkaPqWP2JDzz/v6L/D9Uz0fGq/MIElONRw3bjkcZCfPyLvECcbSDvjOjQH+T8b6bG8E41BHdXOEMxXe9930sD/J+yMnGuQ18pNu2HmElXtEsKxo6u+oXtIN5IymSTB0S0Z4lfY8Ol7CFsE4WTydykHTiM1DIiedxRsB0JvCXObjS0uo+lVPas4MfAiPAJuBqfOMxhag X-Forefront-Antispam-Report-Untrusted: CIP:172.205.89.229; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(82310400026)(376014)(36860700013); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10305 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM4PEPF00025F9A.EURPRD83.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: fd0ee6eb-da17-42be-8f4e-08de79406fe6 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|82310400026|14060799003|35042699022|376014|1800799024; X-Microsoft-Antispam-Message-Info: +GJ79S92RVQuzSstuxIPHd/VF9iznGiSb1AH5cQDUfgo/fqhvnFNvb3T/tvUo/Bs60UdeIsd3jilY8knadCSG+5HZornHEV8UDckpzflLBaqYz/FaHf1sQFb3iItGI4antMrFRX9C013Uy9ZWGNUnBx1IlOX4TjalyJP6KuZwsi3h8YUDCbavroAmIKSH8Yj1zhVV28nFuq4ea3OGvCfIjMECt2cRcPHAegdpd6ce5gIkahm5kg2VoXNN3u1tCdxf3vocZHMWGgX0dNsw4xgfUgyw7V3ki26WNseoG4zpibsSL33swE2pJ5oVAO41xI2itNoq/R8Gbts5DfG/QKZzm8e+50twUBWKycZnf+P0wf02zwkv+jOJpk4CTve3dTvv1FdKKaf6Ct/T9MM/NwgpwTQR/dGyXgHTyZ9WJ7rrzFR53dQotR8qelfg13oZoBhHsHjsOYSe9Y3xf9zK4l+l/PnXe29SWg+tiiK+mYuD1cgSeEq2vSyoqv8pkdqsNMIpWKBabvKYt9OTpil9qF9UpLaxp/+/4ThS+EdLAvq2ViKifgC/VYBHiGjPZwhc4SIFSjS2ay14jnPEqtEUgTfjYo2r4sr/SjeKutK0ccjVyHNTwE6k9wzHli5E5CXIFP9ALoG8k6L2UNCOowF4/uso40b2+x1+EuV/WqushUP2HL0Dd7+OorYfuVJJK8UCvLvx6N8JkpjSP0tiuEQm4kYQbHgsd1OnjD3K/2ttgP126c5icd1z775ocJwQfk+JvwJaNTZyLF7j8HnfkdsI1mtbjbH/BZioIuKgHg6eU24WB/7HYqECUkZhS2MK4G6Yr70 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)(36860700013)(82310400026)(14060799003)(35042699022)(376014)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: n/IUu4x5IZEOWocq0fjhqSJFzENb9dov8tpcPsB+Q+k367XCB6+bKvfCe3P2Tc95Rz/yPMb2tLR5Oefn2taQ1l3QUJUqhlGUCiERtuBCtblHR8lt5KA8DmtZP9nnbSgId3Bp1uIgv71O0v1xvlAnOtv8sXNQ+TZubu+f/m8abH2qcu8lsQxmvZ2spV8rI/V+6kSfxl/XkAap6MzySjo1eyIs5gGlN2uulLozZc2FzNhHZsL1ZI3ufppKm+B5JSnlKKcr9tfd4KknH4BLyYxB4jGjCqhb/j3RRtYcDGGMSBbTDVG9fncRCulV72rlPhFKVT2HkYUeGYLRdjybcCq7QtNUFDoH3naeCY/pEMr02fcMOjbkVEsUjG8su5S7X1+V0Hf/hSFTBrmaLGLm2sW8WJUQtflBNO1OdAvtIja6q3d8DDOHavzu4UBeZsk9jX3B X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2026 16:19:05.0801 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ec06360f-e98d-49c6-40b9-08de794096fd 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: AM4PEPF00025F9A.EURPRD83.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9545 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 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. --- gdb/python/py-inferior.c | 2 +- gdbsupport/gdb_ref_ptr.h | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gdb/python/py-inferior.c b/gdb/python/py-inferior.c index ae309620e1f..e959a107858 100644 --- a/gdb/python/py-inferior.c +++ b/gdb/python/py-inferior.c @@ -400,7 +400,7 @@ infpy_threads (PyObject *self, PyObject *args) for (const thread_map_t::value_type &entry : *inf_obj->threads) { - auto thr = gdbpy_ref<>::new_reference ((PyObject *) entry.second.get ()); + auto thr = gdbpy_ref<>::new_reference (entry.second.get ()); if (PyTuple_SetItem (tuple.get (), i++, thr.release ()) < 0) return nullptr; } diff --git a/gdbsupport/gdb_ref_ptr.h b/gdbsupport/gdb_ref_ptr.h index 3d01bf4441b..647ac42367d 100644 --- a/gdbsupport/gdb_ref_ptr.h +++ b/gdbsupport/gdb_ref_ptr.h @@ -150,9 +150,12 @@ class ref_ptr } /* Acquire a new reference and return a ref_ptr that owns it. */ - static ref_ptr new_reference (T *obj) + template + static ref_ptr new_reference (TObj *obj) { Policy::incref (obj); + if constexpr (std::is_base_of::value) + return ref_ptr (static_cast (obj)); return ref_ptr (obj); } -- 2.53.0