Subject: Re: [PATCH 04/14] rust: add a ObjectID struct

From: "brian m. carlson" <[email-masked]>
Date: Wed, 29 Oct 2025 00:47:08 +0000

On 2025-10-28 at 19:40:39, Junio C Hamano wrote:
> Yeah, another thing that puzzles me is if src/ is a good name for
> the directory in the longer run (unless we plan to rewrite
> everything in Rust, that is) for housing our source code written in
> Rust (I am assuming that *.c files are unwelcome in that directory).
> But it may be a separate topic, perhaps?

That's a standard location for Rust files.  The root of the repository
has `Cargo.toml` and `Cargo.lock`, source files go in `src`, and output
goes in `target`.  So there's not much of an option, really.

The hierarchy of the source files also affects import locations.  So
`src/hash.rs` is the `crate::hash` module and , `src/foo/bar/baz.rs` is
`crate::foo::bar::baz`.

There's no reason that `*.c` files cannot live in `src`, but Cargo pays
no attention to those (unless they're compiled with the `cc` crate as
part of `build.rs`).  We had a project at work that moved from C to Rust
incrementally and we moved all the C files into `src`, which was not a
problem.
-- 
brian m. carlson (they/them)
Toronto, Ontario, CA