Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Jan 2024 08:38:57 -0700
From:      Alan Somers <asomers@freebsd.org>
Cc:        Enji Cooper <yaneurabeya@gmail.com>,  "src-committers@freebsd.org" <src-committers@freebsd.org>,  "dev-commits-src-all@freebsd.org" <dev-commits-src-all@freebsd.org>,  "dev-commits-src-main@freebsd.org" <dev-commits-src-main@freebsd.org>
Subject:   Re: git: 8bae22bbbe65 - main - fusefs: prefer new/delete over malloc/free
Message-ID:  <CAOtMX2iN-74op3de9vyWw4d59uV1B=hN9cid6_x24ymJskf1=Q@mail.gmail.com>
In-Reply-To: <CAOtMX2j8mn1mRh0HzqS_uL5zuDKhXsgLvBRR5h1PX_fuEo3FtQ@mail.gmail.com>
References:  <202401172250.40HMo4O9003460@gitrepo.freebsd.org> <8F36170D-9592-46D5-A275-12E24C3A13D8@gmail.com> <CAOtMX2j8mn1mRh0HzqS_uL5zuDKhXsgLvBRR5h1PX_fuEo3FtQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jan 19, 2024 at 6:56=E2=80=AFAM Alan Somers <asomers@freebsd.org> w=
rote:
>
> On Thu, Jan 18, 2024 at 10:32=E2=80=AFPM Enji Cooper <yaneurabeya@gmail.c=
om> wrote:
> >
> >
> > > On Jan 17, 2024, at 2:50=E2=80=AFPM, Alan Somers <asomers@FreeBSD.org=
> wrote:
> > >
> > > The branch main has been updated by asomers:
> > >
> > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D8bae22bbbe6571da9259e0=
d43ffa8a56f4b3e171
> > >
> > > commit 8bae22bbbe6571da9259e0d43ffa8a56f4b3e171
> > > Author:     Alan Somers <asomers@FreeBSD.org>
> > > AuthorDate: 2024-01-15 23:49:47 +0000
> > > Commit:     Alan Somers <asomers@FreeBSD.org>
> > > CommitDate: 2024-01-17 22:49:41 +0000
> > >
> > >    fusefs: prefer new/delete over malloc/free
> > >
> > >    MFC after:      2 weeks
> > >    Reviewed by:    kib
> > >    Differential Revision: https://reviews.freebsd.org/D43464
> >
> > Why not use smart pointers instead?
> > -Enji
>
> Only because this stuff all evolved from C code.  Smart pointers would
> certainly work.

Actually, TBH it's because I'm not real great with C++.  It's a
difficult language, and after 2016 I stopped even trying to improve my
C++ skills.  Instead, I've been focusing on Rust.  Even when I wrote
these tests in 2019, I strongly considered using Rust instead of C++.
In the end, the only thing that forced me to use C++ is because I
wanted them to live in the base system, rather than in ports.

I still dream about the day when Rust is allowed in the base system.
If it were, then in addition to these tests, I would've converted
gstat to Rust (rather than add sysutils/gstat-rs to ports), added the
nfs-exporter (instead of putting it in net-mgmt/nfs-exporter), added a
ctl-exporter (which is impossible to do in ports, so I had to do that
one in C), and converted tools/regression/fsx in place (instead of
putting in devel/fsx-rs).  Maybe a couple of other things, too.  Like
ztop, or the geom-exporter that I have half-written.  I've also been
tempted to rewrite zfsd in Rust.

Alas, I sense that there is little appetite for bringing Rust into contrib.

-Alan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOtMX2iN-74op3de9vyWw4d59uV1B=hN9cid6_x24ymJskf1=Q>