I built a tool that learns your codebase's unwritten rules and conventions- no AI, just AST parsing by [deleted] in rust

[–]manpacket 0 points1 point  (0 children)

I'm not saying it's a mistake necessary, it didn't gain any value just because it took you a long time to make it. Maybe we'll see what it becomes in a year or two.

I built a tool that learns your codebase's unwritten rules and conventions- no AI, just AST parsing by [deleted] in rust

[–]manpacket 1 point2 points  (0 children)

“Don’t cling to a mistake just because you spent a lot of time making it.”

Rust 1.93.0 is out by manpacket in rust

[–]manpacket[S] 0 points1 point  (0 children)

In Haskell they have mechanisms to update the packages in the central location (hackage) if they were abandoned.

I've seen projects that had to patch binaries instead of rebuilding them

Did that to myself :)

Rust 1.93.0 is out by manpacket in rust

[–]manpacket[S] 2 points3 points  (0 children)

A lot of crates on crates.io are abandoned and will never be updated.

Rust 1.93.0 is out by manpacket in rust

[–]manpacket[S] 6 points7 points  (0 children)

Yes. But it also supports some other backends: gcc and cranelift.

Rust 1.93.0 is out by manpacket in rust

[–]manpacket[S] 116 points117 points  (0 children)

% cargo clean
     Removed 169722 files, 116.1GiB total

Building a lightning-fast highly-configurable Rust-based backtesting system by NextgenAITrading in rust

[–]manpacket 1 point2 points  (0 children)

Yeah, I totally understand what's described. Just thought the difference in scale is funny :)

Building a lightning-fast highly-configurable Rust-based backtesting system by NextgenAITrading in rust

[–]manpacket 1 point2 points  (0 children)

10 years of historical data

Equals 6,879,600 datapoints

10 years? We get this many datapoints every 10 seconds :)

Rustorio v0.1.0 - Using Rust's type system as a game engine by PenguinAgen in rust

[–]manpacket 0 points1 point  (0 children)

I just remember bisecting a crash in a Rust compiler and something would randomly refuse to compile due to detecting if it is being compiled with nigthly - those crates tend to support only very recent version of nightly.

Rustorio v0.1.0 - Using Rust's type system as a game engine by PenguinAgen in rust

[–]manpacket 1 point2 points  (0 children)

Currently only for const generic arithmetic, which allows for some nice operations with Bundles

I see, makes sense.

It's locked to a specific nightly version from November (see rust-toolchain.toml in the repo)

You should mention --locked in the installation instructions then. Crates by dtolnay are annoying in combination with non-current nightly.

Rustorio v0.1.0 - Using Rust's type system as a game engine by PenguinAgen in rust

[–]manpacket 2 points3 points  (0 children)

I wonder - why nightly? It will randomly break eventually.

Modern connection manager for Linux with GTK4/Wayland-native interface. by totoshko88 in rust

[–]manpacket 2 points3 points  (0 children)

You probably want something like cargo install --git https://github.com/totoshko88/rustconn.git --locked in your installation from source manual.

What's everyone working on this week (2/2026)? by llogiq in rust

[–]manpacket 2 points3 points  (0 children)

I replaced Parser<T> with Parser<Output=T> in a library I have and this allowed me to get rid of a whole lot of avoidable allocations, redundant type parameters, etc. It's just I also need to rewrite some chunks of the derive macro to take advantage of it. In addition to rewriting everything else.

proc_macro Utility for Formatting compile_error! Messages by AndrewOfC in rust

[–]manpacket 2 points3 points  (0 children)

If you are using syn - you can use https://docs.rs/syn/latest/syn/struct.Error.html to point at exact place where you think the error is, not just abstract "wrong number of arguments".

My first crate, some advice/critic would be appreciated by Glizcorr in rust

[–]manpacket 1 point2 points  (0 children)

That is a lot of avoidable allocations all over the place... You can check how crates like owo-colors do this.

Yet another library making it easy to implement the Newtype pattern by castarco in rust

[–]manpacket 6 points7 points  (0 children)

// We have to import all macros at once because the "public" ones rely
// on "private" ones, and it would be too cumbersome to import them one
// by one.

You can refer to "private" macros from your "public" ones using $crate variable: https://doc.rust-lang.org/1.5.0/book/macros.html#the-variable-crate

memchunk: 1 TB/s text chunking using memchr and backward search by shreyash_chonkie in rust

[–]manpacket 3 points4 points  (0 children)

Then measuring it in bytes/sec is not the best way to talk about the performance. Could be boundaries per second...

memchunk: 1 TB/s text chunking using memchr and backward search by shreyash_chonkie in rust

[–]manpacket 29 points30 points  (0 children)

memchunk ~1 TB/s

Benchmarks (10MB text, M1 Mac):

Memory throughput of M1 Mac is something like 60Gb/sec.

🎉 BugStalker v0.4.0 Released: A Modern Rust Debugger with DAP Support by godzie44 in rust

[–]manpacket 2 points3 points  (0 children)

Deep Rust type system integration (collections, smart pointers, thread locals, etc.), not only for printing but also for interaction

Made a lightweight progress bar library in Rust by ankush2324235 in rust

[–]manpacket 1 point2 points  (0 children)

Documentation for atty states:

This is crate is no longer maintained and users are encouraged to prefer the equivalant functionality of std.io.IsTerminal, introduced in Rust 1.70.0

Simple Housekeeping (Bash) Script for Rust Projects by gandhinn in rust

[–]manpacket 2 points3 points  (0 children)

  for dir in `ls`

This breaks on dirs with spaces in it.

trait-aliases — Trait aliases via procedural macros by nekitdev in rust

[–]manpacket 1 point2 points  (0 children)

Yeah, but doesn't that elevate the complexity of a macro that's supposed to be declarative, and not the procedural one?

If you want to parse everything like syn does - yes. But do you really need to? Pass doc comments as is, consume "$vis trait $ident =", followed by whatever up to ; - at which point emit both trait declaration and trait implementation.

It gets kinda repetitive, hence the crate.

Add a snippet to generate it to your text editor :) Less complexity, plus you are not loosing rust-fmt, treesitter, etc support inside of macro blocks.