From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 646AEC7EE30 for ; Tue, 1 Jul 2025 16:37:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 04F456B009B; Tue, 1 Jul 2025 12:37:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 026ED6B00A7; Tue, 1 Jul 2025 12:37:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E7F7D6B00AA; Tue, 1 Jul 2025 12:37:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id D92616B009B for ; Tue, 1 Jul 2025 12:37:01 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 6C5CFBA154 for ; Tue, 1 Jul 2025 16:37:01 +0000 (UTC) X-FDA: 83616250242.17.78A0263 Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174]) by imf15.hostedemail.com (Postfix) with ESMTP id 7977BA0008 for ; Tue, 1 Jul 2025 16:36:59 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="K7OgpM/8"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf15.hostedemail.com: domain of tamird@gmail.com designates 209.85.208.174 as permitted sender) smtp.mailfrom=tamird@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751387819; a=rsa-sha256; cv=none; b=k50BJlmsTqvgjuNGaUb5pByUTMT3j3DTI2uedTNxg9bnmvyIiAFJ+d2VCcZZqszGMA70Ao 8+k/6z9f33wTPyy92I4a+Eh5psz8u9FAAdPwlxDRy4ufsOnmy36rZUBAo1mKnimAcI28vc +3HSjaiIC2F9edgxZ/1aqSBmm5ZMoRk= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="K7OgpM/8"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf15.hostedemail.com: domain of tamird@gmail.com designates 209.85.208.174 as permitted sender) smtp.mailfrom=tamird@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751387819; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=hgyVkx3d9RLCvXLZyf3F2xIgeVZ3LcaqlbEZ/2Q1Ka0=; b=vSNOTRCszzYSQrBjWBbzOHsFjqCI5uAqtNDcaduC4oBV8ydrFsKKb1UwTrhtyNvUmQrCws AhP74IlgZUZX6QNhoDaFVHEhdg/VE3c66TEmvQe8d97gNzxAqNX4JI8yjL8SuN8ac0mD+u j17MQmY8zatIIKDXYS3bNmXxv5EG5bM= Received: by mail-lj1-f174.google.com with SMTP id 38308e7fff4ca-32b7cf56cacso56955181fa.1 for ; Tue, 01 Jul 2025 09:36:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751387818; x=1751992618; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=hgyVkx3d9RLCvXLZyf3F2xIgeVZ3LcaqlbEZ/2Q1Ka0=; b=K7OgpM/8NERlnmCAPBqReTKs+h7RnRImrBm9A5PptWobLq/VhlivHp8CjVi8DSdE+k QW2WTRZ+UgAATN76e+CGk0Tl9kS2Xzv2EZ/wGMvEtY+U8606Ul1p/VqpXhuqEAW9Ta+M 6KzSYJNdqQYkeZjuOqlaVglJB6jJqG9joJ1Hjm1GIgd6BGP58onHPvFWAF1MQ5T6wwpu ItigO6ZAV9wCRY2u1YZNjtkY2xNj1tX6pnVXVyxb41L42YEa/pWoHpsYp5no6XtzWIqc r7RkOwIdj2kGzU2TPkj0ANRVnoCCx2efO418nP6Q8NO1HXBcZbIdEgpw+Y47ApJzbh7y LgDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751387818; x=1751992618; h=content-transfer-encoding:cc: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=hgyVkx3d9RLCvXLZyf3F2xIgeVZ3LcaqlbEZ/2Q1Ka0=; b=k+4XWgADrcd29CUGyZ/v1p3b1zFVVFMAiBVPg7BQsY9fWlefbUwyK/xhU/imTTqlC7 5+tuJcsAdIiuVAjlwhShkSpOIReshG5ithRH9iy8FUs0QKYVEEuNf7EGIOBDsvIMfE30 +MpE2fI3xPaCIsptmkOYyC5NZHZWz1eTrAy3deZSwOxsw2VQhdzpgDpHZIW7NKuYHoHe 3MozKt3ynsJNBuuIt6/3GvDaXDfXhB8vdqEVr3zw50JabSz+CVSlr2r48RKnVY3OB3SJ Tif+nmhKD0JqOyxqYL8QQGsAI2if6Ppt2zxlKMufp3UdIU37d5LnSAIuS6rrV5Do34kK rfWw== X-Forwarded-Encrypted: i=1; AJvYcCUf03stBGhLsnuSNrKez90kEKXACpPLO5W+D36KptRk+0gNznjyUKsm4RW/VxazCIpOhda1nKQTZg==@kvack.org X-Gm-Message-State: AOJu0YyLaxG2tthdnChnLRflduOyf1hANJ0mj0rZnZlbX+oy/GVKJN4I +xwjODeR21vT1o2Wme5OO1AXsPtDyAVuGJVTY2zcaSNfMaBiWFm8vrkqfBdTRIrdM3J5IKcU86N je2oRpfBx+czrabVGUIG/J1en8E7fXPE= X-Gm-Gg: ASbGncvsEnhbf2168xu+wIUGE+DdfmWuqWWpQr0Ccc9ip3jfxfDokwPnhQHQqBXEtoQ 9KkY6SnE5GPROw5EKCZhgqkRplDh9UqHW87G7M4k8bYD0o4IbRHn+Q2UG8pwU43kAG4aIXfxcs8 oF0NYtzBFFGfR9+pKvIyEphtQfzhpyVlvyw/VpkqFus3CUJpgCBA1yfe2YLQ18Tg+tvT8SmRdnk o37EF3kH7KvFnqR X-Google-Smtp-Source: AGHT+IEqCqt2bO97VSw5brojzdV3SZzJg+MkUJyR8sldEgfU+5WSPMAXAbtSk5Z703LmfE/XJzygq6h09VCa1Ovh93Q= X-Received: by 2002:a05:651c:3248:20b0:30b:f52d:148f with SMTP id 38308e7fff4ca-32cdc482b6fmr28085101fa.18.1751387817386; Tue, 01 Jul 2025 09:36:57 -0700 (PDT) MIME-Version: 1.0 References: <20250701-xarray-insert-reserve-v1-0-25df2b0d706a@gmail.com> <20250701-xarray-insert-reserve-v1-1-25df2b0d706a@gmail.com> In-Reply-To: From: Tamir Duberstein Date: Tue, 1 Jul 2025 12:36:20 -0400 X-Gm-Features: Ac12FXzwtYZh48LsIbouap6aPSYLMEtyprvogrYztvEYzaNQhpMD-bJ8UxP3Ra4 Message-ID: Subject: Re: [PATCH 1/3] rust: xarray: use the prelude To: Boqun Feng Cc: Andreas Hindborg , Miguel Ojeda , Alex Gaynor , Gary Guo , =?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Alice Ryhl , Trevor Gross , Danilo Krummrich , Matthew Wilcox , Andrew Morton , rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Daniel Almeida Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 7977BA0008 X-Stat-Signature: 59nzmgzmq7kmd5kriymg4qxkam7j9ncu X-HE-Tag: 1751387819-297072 X-HE-Meta: U2FsdGVkX1+jjMWf4kWRzI8pNT49YxtU76ZYqf9nXAvD24MhY+pKAjwTOo91aspw/isBwjwd4awNXUCajelEFYSYV8Qlwl07w3gSKVtLYdPV1i6dqrEn0xltwqYpTzhEuo/7DHSBMfQq1/xSDHsyMEFG4wWn07C76RPY4dzisKCmlugXoDfXhOzdwhX3bjS1d/oryD2pJ9jSjAV1H7cpgnnWt1Rn4AYEVisBsgi6nbgnbxa8dC1Wb9HKnxARUF2Xek5YC+5x4YTdyxUjef8oHez57oCP/KbTlrez2OyhlzsOcs4gnKPqsUxMGJWN31ytAPQKhPQUczEDAC//TUZBncMOBPNxwJN9TahMB4vAN2jcKKBQ/th7OdkE8lAOQPFXfTR96y1IGy5VNUiZOLZYwYM4ZRvAfRpu/ne2knZtvEM+PDhvfSRCwZMht7DuZicjV7X4/zEmC0Nuiz5KNphAt8+F2kn2V2nX4RdHUpZ8/vZP7wMXRgVb0gifa3IszK1goGsQz9xHbsWW5RCNbI1kEXizWl6+6tmQHRT6ST5L30q9fD4tap0llnX4oQgokx/OdPlSPFP9cXXIbn3ymxShe+APDKExPpmLF56jhGg+e/gkWhfAJ9gK7hk8yVEDOdHvdsFM8K6ooSEUxHE6W6EI1JdNh0znmU1ZSxfFy9mG2v/7vxWfGwPYil54IgLzb+Roj+3CK69OvnPm+/3DsWQ9LRlVGrSlbeG3Ur9joZ0+aLtpZ9A394en2sb34Ym8kpwOUmw4ODyw00hM805kxFjRS3vn7DrXxRZHA+0iHRaqSP+S9mebqTsHhrW9K7c/aoQyGabO/QYTFyMsrxuZpsZKLzl2QAsANuJA1lnLZyUVJhqjZhzYev/mxC1hG5qpX0mibZ+QfwSLs2JWdkJb4x2rHyZsuddJofb4Tqw4Tq+VaSf7XkTS4Q/QHBS0RfP8DgoS9d8XwtveCadQu4RyqwZ tZDnxcYB XBSTsggdvOXFIAL8BF/FAvJ1YqnIcO0L+ynC15Lt4vlTLpKNnA3YSa6UwzvjQv3Urx3/nHPqudnEsOc8swNXJ64VNIR7dY7QvUqF61yfgL05C32GSC5vKCVmLqGanLF9Seb+tCFZLg62o1vmUqn10osJevzEbsJVzfpmyk8tn8RN39GWcaT7Ee1NjYg6djHFWqnkz+ejGkdxwGWsQu/5ucvAifEFD1sM5ZOOPsGREMHlrwXDvpoOjsVLVssx3vQxnGfIg1BeQrKrSLp6ocQCMDNdhsydwWlbkPebpTkaGdfHX+MLjHxkRUa8FrD0bj3Qz04ZYaRqeqyaRbMWnA9kiR+8R1OvYvaIbuhyMjVuSVfuZ8xkr7TMw9Hnxn6jl57QKhKK0Rpk04aBYmu1o+fia3nI1pIjr/VGgPtrFFj0MxA+D0zmqMeW+/BnaqqYqbzDZULGk X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Jul 1, 2025 at 12:35=E2=80=AFPM Boqun Feng w= rote: > > On Tue, Jul 01, 2025 at 12:27:17PM -0400, Tamir Duberstein wrote: > > Using the prelude is customary in the kernel crate. > > > > Signed-off-by: Tamir Duberstein > > --- > > rust/kernel/xarray.rs | 34 ++++++++++++++++++++-------------- > > 1 file changed, 20 insertions(+), 14 deletions(-) > > > > diff --git a/rust/kernel/xarray.rs b/rust/kernel/xarray.rs > > index 75719e7bb491..436faad99c89 100644 > > --- a/rust/kernel/xarray.rs > > +++ b/rust/kernel/xarray.rs > > @@ -5,16 +5,15 @@ > > //! C header: [`include/linux/xarray.h`](srctree/include/linux/xarray.= h) > > > > use crate::{ > > - alloc, bindings, build_assert, > > - error::{Error, Result}, > > + alloc, > > + prelude::*, > > types::{ForeignOwnable, NotThreadSafe, Opaque}, > > }; > > -use core::{iter, marker::PhantomData, mem, pin::Pin, ptr::NonNull}; > > -use pin_init::{pin_data, pin_init, pinned_drop, PinInit}; > > +use core::{iter, marker::PhantomData, mem, ptr::NonNull}; > > > > /// An array which efficiently maps sparse integer indices to owned ob= jects. > > /// > > -/// This is similar to a [`crate::alloc::kvec::Vec>`], but m= ore efficient when there are > > +/// This is similar to a [`Vec>`], but more efficient when t= here are > > /// holes in the index space, and can be efficiently grown. > > /// > > /// # Invariants > > @@ -104,16 +103,23 @@ pub fn new(kind: AllocKind) -> impl PinInit= { > > fn iter(&self) -> impl Iterator> + = '_ { > > let mut index =3D 0; > > > > - // SAFETY: `self.xa` is always valid by the type invariant. > > - iter::once(unsafe { > > - bindings::xa_find(self.xa.get(), &mut index, usize::MAX, b= indings::XA_PRESENT) > > - }) > > - .chain(iter::from_fn(move || { > > + core::iter::Iterator::chain( > > Does this part come from using the prelude? If not, either we need to > split the patch or we need to mention it in the changelog at least. Yes, it's from using the prelude - PinInit also has a chain method that causes ambiguity here. > Also since we `use core::iter` above, we can avoid the `core::` here. Good point.