frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Rust–: Rust without the borrow checker

https://github.com/buyukakyuz/rustmm
61•ravenical•2h ago

Comments

boxed•2h ago
A motivation section in the readme seems like it is needed.
poly2it•1h ago
https://github.com/buyukakyuz/corroded/issues/11#issuecommen...
bhaney•2h ago
Are the compile times noticeably faster?
worldsavior•1h ago
Probably not, because it seems like it still checks for errors but just suppresses them.
misnome•27m ago
Even so, the borrow checker repeatedly profiles as an insignificant part of compile times, so wouldn’t make a difference.
throwawayffffas•1h ago
C++ with extra steps?
dorianniemiec•1h ago
Uh oh, this might look like a potentially memory-unsafe version of Rust...
mkl95•1h ago
Rust++ would be a nicer name then
dorianniemiec•1h ago
Rust++? :)
thushanfernando•50m ago
Bust?
petcat•1h ago
I have a feeling there will be some people here that will take this very seriously and will spend a lot of time criticizing this project in angry comment threads that go on for miles.
scott_w•35m ago
Honestly, I thought it was serious because I’ve seen people do things exactly like this, just in different languages.

By “this” I mean “spend all their time fighting against the language/framework because they don’t like it, rather than just picking a different language.”

eru•19m ago
There can be good reasons for choosing a language that you otherwise don't like.

Eg legacy software, or because your boss tells you, or because of legal requirements, or because of library availability etc.

fithisux•1h ago
This should be called trust, because it does view the developer as evil.
gspr•1h ago
Tangentially related: the opposite, Rust's borrow checker sans the compiler, is actually very useful. As far as I understand, the borrow checker is a significant part of the work of writing a Rust compiler. Therefore, having the official borrow checker available as a standalone program can make alternative compilers (e.g. for exotic hardware) feasible faster, because they won't need a borrow checker of their own from the get-go.
bananaflag•52m ago
I get your point, but still you haven't identified a use for the borrow checker sans the compiler.
tialaramex•47m ago
Why would this matter? The borrowck is (a) not needed during bring-up because as its name suggests it is merely a check, so going without it just means you can write nonsense and then unbounded undefined behaviour results, but (b) written entirely in Rust so you can just compile it with the rest of this "exotic hardware" Rust compiler you've built.
gspr•20m ago
Yeah, you're right, I'm misremembering something here. Thanks for the correction.
raluk•1h ago
What are protental issues with compiler, by just disabling borrow checker? If I recall correctly some compiler optimisations for rust can not be done in C/C++ because of restrictions implied by borrow checker.
0xdeafbeef•1h ago
Rust can set restricts to all pointers, because 1 mut xor many shared refs rule. Borrow checker empowers this. https://en.wikipedia.org/wiki/Restrict
vanviegen•30m ago
Without the borrow checker, how should memory be managed? Just never deallocate?
nineteen999•1h ago
Love the "Note for LLMs" and the NSFW license.
user3939382•1h ago
Rust- is you use C with ring buffers. If you think you need dynamic memory allocation your program is underspecified.
oskarbh7•1h ago
How does "zero dynamic allocation" work in practice for something like a text editor IE. vscode or other apps that let users open arbitrary files?
lpcvoid•40m ago
Just impose a maximum buffer size ;)
Const-me•35m ago
It’s technically possible to do, just very complicated and hard. Quite often, prohibitively so.

Still, the main idea is despite the input files are arbitrarily large, you don’t need an entire file in memory because displays aren’t remotely large enough to render a megabyte of text. Technically, you can only load a visible portion of the input file, and stream from/to disk when user scrolls. Furthermore, if you own the file format, you can design it in a way which allowing editing without overwriting the entire file: mark deleted portions without moving subsequent content, write inserts to the end of files, maybe organize the file as a B+ tree, etc.

That’s how software like Word 97 supported editing of documents much larger than available memory. As you can imagine, the complexity of such file format, and the software handling them, was overwhelming. Which is why software developers stopped doing things like that as soon as computers gained enough memory to keep entire documents, and instead serialize them into sane formats like zipped XMLs in case of modern MS office.

eru•15m ago
What if you don't know ahead of time how big that monitor is that you are displaying stuff on?

In any case, what you are describing sounds like an ad-hoc re-implementation of virtual memory?

mrits•33m ago
Instead of over specifying a program you can just use dynamic memory allocation
throwawayffffas•1h ago
It would be great if it only allowed multiple mutable borrows. That's the only one that always bugs me, for mostly innocuous stuff.
xlii•1h ago

    > In addition to meeting the Open Source Definition, the following standards apply to new licenses:
    > (...) The license does not have terms that structurally put the licensor in a more favored position than any licensee.
    https://opensource.org/licenses/review-process

That's a funfact I learned from IP lawyer when discussing possibility of open-source but otherwise LLVM-extempt license. If there is extemption (even in LLM) such license is most likely OSI-incompatible.
w4rh4wk5•1h ago
I am wondering whether this would actually be a helpful compile option in upstream rustc for quick prototyping. I don't want prod code to use this, but if I want to try things out during development, this could substantially shorten the dev cycle.
0xdeafbeef•1h ago
What the point, though? You will get compiling code, but later you would need to reachitecture code to avoid violating rust rules.
withinboredom•42m ago
Sometimes, you just need to know if an idea will even work or what it would look like. If you have to refactor half the codebase (true story for me once), it makes the change a much harder sell without showing some benefits. IE, it keeps you from discovering better optimizations because you have to pay the costs upfront.
eru•18m ago
Can't you usually just throw some quick referenced counted cells in there, to make the borrow checker happy enough for a prototype without refactoring the whole code base?
Philpax•1h ago
After a while, you just don't write code that would cause substantial borrow-checker problems, even when prototyping. I'd say the slow compile times are much more of an impediment for a practicing Rust prototyper than the borrow checker.
ismailmaj•1h ago
undefined behavior on steroids be like:
hacker_homie•56m ago
I wish I could make the borrow checker give warnings not errors. It would make exploration so much easier, so I don’t have to fight the borrow checker until I know how to build what I want.
hoppp•50m ago
Then you have code full of warnings and undefined behavior?

I think fighting the borrow checker is more like a rite of passage. Rust is not my favorite language but the borrow checker is great.

dataflow•55m ago
This can't possibly be guaranteed to work just by disabling the checker, can it? If Rust optimizes based on borrow-checker assumptions (which I understand it can and does) then wouldn't violating them be UB, unless you also mess with the compiler to disable those optimizations?
tialaramex•38m ago
If you write correct Rust code it'll work, the borrowck is just that, a check, if the teacher doesn't check your homework where you wrote that 10 + 5 = 15 it's still correct. If you write incorrect code where you break Rust's borrowing rules it'll have unbounded Undefined Behaviour, unlike the actual Rust where that'd be an error this thing will just give you broken garbage, exactly like a C++ compiler.

Evidently millions of people want broken garbage, Herb Sutter even wrote a piece celebrating how many more C++ programmers and projects there were last year, churning out yet more broken garbage, it's a metaphor for 2025 I guess.

ozgrakkurt•34m ago
I have been using kde for years now without a single problem. Calling cpp garbage sounds wrong.
amelius•29m ago
People don't want garbage. But in any case, they don't want straightjackets like the borrow checker.

Hence, they use GC'd languages like Go whenever they can.

eru•22m ago
Straightjackets can be very useful.

Haskell (and OCaml etc) give you both straightjackets and a garbage collector. Straightjackets and GC are very compatible.

Compared to C, which has neither straightjackets nor a GC (at least not by default).

jokoon•49m ago
To me it feels like rust is barely readable sometimes. When I read some rust cost, I am often incapable to guess what it does, so it does not feel intuitive.

I wish they made something simpler. At least C and C++ have a low barrier of entry and any beginner can write code.

I don't think the borrow checker forced rust to be such a complicated language.

mentalgear•47m ago
I can just second that. Maybe someone (or some LLM) can write a nice superset of Rust that is more readable - so the barrier of entry drops significantly and we can all write better, more efficient and memory-safe code!
torginus•42m ago
I feel exactly the same - C++ might be a much more complex and arcane language when you consider its entire feature set, and all the syntactic machinery (I figured out by looking at STL or Boost code, just how much of C++ I don't know or understand), you can choose to not engage with most of the language. Hell, even stuff like unique_ptr is optional when you're just starting out.

But with Rust, you have to understand almost all of the language very intimately to be a productive programmer, and Rust is not that great at hiding complexity, as in fairly innocious decisions often have far-reaching consequences down the line.

mrits•37m ago
I've shipped a lot of Rust software without the understanding or even attempting to learn a lot of the language. There is plenty of things in core libraries around traits that I have no idea how they work or really care.
drogus•28m ago
> you have to understand almost all of the language very intimately to be a productive programmer,

I've seen absolute Rust noobs write production code in Rust, I have no idea where did you get that notion from. Most of the apps I've written or I've worked with don't even need to use explicit lifetimes at all. If you don't need absolute performance with almost none memory allocations, it's honestly not rocket science. Even more so if you're writing web backends. Then the code doesn't really differ that much from Go.

sesm•42m ago
C++ doesn't have low barrier of entry, I almost quit programming as a teen because of C++.
torginus•38m ago
Imo the worst thing about starting out with C++ (which is much better with Rust), is the lack of credible package management/build system that allows you to just install packages.

This used to be even more true previously than today. Nowadays, there's stuff like vcpkg, and tons of resources, but I still wouldn't call it straightforward compared to something like nuget or cargo.

It tooke me more time to figure out CMake than entire other programming languages.

tialaramex•6m ago
There's a weird cognitive bias where somehow people justify "I compiled this Hello World C++ project " as "C++ is easy" and yet "I wasn't able to understand how this optimized linear algebra library works" gets classed as "Rust is hard".

In reality it matters what you already know, and whether you want to understand deeply or are just interested in enough surface understanding to write software. There's a reason C++ has an entire book about its many, many types of initialization for example.

vanviegen•34m ago
Yes, Rust has a pretty steep learning curve. If you're not writing very low level stuff and don't need to squeeze out every last bit of performance, there are many other, simpler languages to choose from.

I think we may safely assume that Rust's designers are smart people that have made every effort to keep Rust as simple as it can be, given its intended use.

Someone1234•28m ago
> At least C and C++ have a low barrier of entry and any beginner can write code.

C/C++ is great at giving that false sense of competence. Then suddenly you're getting a segfault, and you'll never determine why with beginner knowledge, since the crash-line and the mistake-line aren't even in the same zipcode (and or same Git changeset).

Rust forces you to not "skip" knowledge steps. If you have a gap in your knowledge/understanding the compiler will call you out immediately. C/C++ will happily let your dangerously bad code compile and kinda-run, until it doesn't.

I'm not anti-C/C++, I've actually written tons. I love C in particular. But saying that they're beginner-friendly feels wrong, a lot of people quit the language because "random stuff" starts to go wrong, and they lack the knowledge to determine why.

spoiler•2m ago
I think the barrier to entry with Rust is lower than C++. Like was way lower... And I've been writing C++ for way long than Rust, so I'm probably a bit biased
andrewshadura•47m ago
I don’t have a slightest idea why would anyone want this. Borrow checking is one of the greatest benefits of Rust.
Someone1234•18m ago
It is funny.
ViewTrick1002•36m ago
For everyone unaware, this repo is a meme:

https://www.reddit.com/r/rust/comments/1q0kvn1/corroded_upda...

As a follow on to the corroded meme crate:

https://github.com/buyukakyuz/corroded

> What Is This

> The rust compiler thinks it knows better than you. It won't let you have two pointers to the same thing. It treats you like a mass of incompetence that can't be trusted with a pointer.

> We fix that.

kace91•34m ago
I’m not picturing how it works.

In rust you don’t have a garbage collector and you don’t manually deallocate - if the compiler is not certain of who drops memory and when, what happens with those ambiguous drops ?

In other words, are the silenced errors guaranteed to be memory leaks/use after frees?

eru•23m ago
I don't think so, I don't think Rust's borrow checker is free of false negatives.
gliptic•17m ago
The borrow checker doesn't decide when things are dropped. It only checks reference uses and doesn't generate any code. This will work exactly the same as long as your program doesn't violate any borrowing rules.
tmtvl•10m ago
Amazing, this is like the bizarro version of what I'd want. Like someone said 'hey, there's this kinda crappy language with a really cool feature, let's not make a great language with that feature, but instead take the crappy language and remove the cool feature which is the only thing keeping it from being trash'. Okay, sure, tagged unions, closures, and hygienic macros are nice; but there are plenty of other languages with the first two and when your syntax is atrocious even the most hygienic macro is going to look like something that crawled out of the sewer at R'lyeh.
p0w3n3d•9m ago
There are easier ways of making segfault than writing a custom compiler.
NooneAtAll3•4m ago
I'd prefer the opposite - borrow checker, but remove the useless "fn" and "let" keywords

Securing MCP Infrastructure

https://aliparnan.com/blog-mcp-security.html
1•aliparnan•1m ago•0 comments

Nokia went from iPhone victim to $1B Nvidia deal

https://www.ft.com/content/0a07cbc3-dac4-4b89-9f26-038deb833060
1•mmarian•2m ago•1 comments

Fountain pens are enjoying a revival among the digital generation

https://www.theglobeandmail.com/life/social-trends/article-fountain-pens-are-enjoying-a-revival-a...
1•pseudolus•2m ago•0 comments

One Number I Trust: Plain-Text Accounting for a Multi-Currency Household

https://lalitm.com/post/one-number-i-trust/
1•todsacerdoti•3m ago•0 comments

Starlink 2025 Progress Report

https://starlink.com/progress
1•davidgh•4m ago•0 comments

Dembrandt – Extract Design Systems in Seconds

https://www.dembrandt.com/
1•s4i•6m ago•0 comments

Corroded: Illegal Rust

https://github.com/buyukakyuz/corroded
1•christoph-heiss•12m ago•0 comments

Shipping publicly taught me more than months of "preparing to launch"

https://www.google.com/search?q=site:vect.pro&sca_esv=6ac9360805b83292&prmd=ivns&sxsrf=AE3TifMYbm...
1•afrazullal•13m ago•0 comments

Show HN: I built a weather alert system for photographers

https://app.photoweather.app/demo/live-demo
1•pontussw•14m ago•0 comments

AI and Open Source: A Maintainer's Take (End of 2025)

https://st0012.dev/ai-and-open-source-a-maintainers-take-end-of-2025
1•st0012•16m ago•2 comments

An LLM-Driven Multi-Agent Framework for Telescope Proposal Peer Review

https://arxiv.org/abs/2512.24754
1•TMEHpodcast•23m ago•0 comments

Instagram boss says the platform's polished feed is 'dead' thanks to AI

https://www.businessinsider.com/instagram-head-ai-images-polished-feed-dead-adam-mosseri-2026-1
2•pseudolus•24m ago•1 comments

The Accountability Trap: Why School Systems Abandon Gifted Students

https://wendyx3.substack.com/p/the-accountability-trap-why-school
1•barry-cotter•26m ago•0 comments

We've made an Open Source video platform

https://www.boostervideos.net
1•machimilah•26m ago•1 comments

Critique of Techno-Feudal Reason (2023) [pdf]

https://eclass.uoa.gr/modules/document/file.php/ECON969/Evgeny%20Morozov%20-%20Critique%20of%20Ne...
2•wslh•26m ago•0 comments

Destroying x86_64 instruction decoders with differential fuzzing

https://blog.trailofbits.com/2019/10/31/destroying-x86_64-instruction-decoders-with-differential-...
1•fanf2•26m ago•0 comments

Games in PostScript [pdf]

https://seriot.ch/ps_talk/gambiconf.pdf
2•beefburger•28m ago•0 comments

Brazil's largest lottery prize ever delayed due to 125k bets per second

https://manualdousuario.net/en/brazils-largest-lottery-prize-ever-postponed/
2•rpgbr•28m ago•0 comments

The NYC subway station chosen for Mamdani's swearing-in

https://www.npr.org/2025/12/31/nx-s1-5662726/mamdani-nyc-subway-station-history
2•wslh•30m ago•1 comments

Snoop Project Update (search for usernames on 5k websites)

https://github.com/snooppr/snoop/blob/master/README.en.md
1•zaharqoops•31m ago•0 comments

A Declaration of Interdependence

https://github.com/experimental-123/doi-2026
2•engiserstakr•32m ago•0 comments

Clojure: Transducers

https://clojure.org/reference/transducers
1•tosh•35m ago•0 comments

Real-life experiment shows Bohr was right in theoretical debate with Einstein

https://phys.org/news/2025-12-real-life-niels-bohr-theoretical.html
3•pseudolus•35m ago•0 comments

Meta made scam ads harder to find instead of removing them

https://sherwood.news/tech/rather-than-fully-cracking-down-on-scam-ads-meta-worked-to-make-them-h...
5•wtcactus•39m ago•0 comments

China's first real gaming GPU is here, benchmarks are brutal

https://www.howtogeek.com/are-chinese-gpus-coming-to-eat-nvidias-lunch/
3•msolujic•41m ago•0 comments

The Graphics Chip Chronicles

https://www.electronicdesign.com/graphics-chip-chronicles
2•jnord•44m ago•0 comments

Nvidia to buy AI21 Labs for $3B

https://www.reuters.com/business/nvidia-advanced-talks-buy-israels-ai21-labs-up-3-billion-report-...
2•warthog•45m ago•0 comments

Scientists Create Robotic Rabbits to Fight Invasive Burmese Pythons in Florida

https://scienceclock.com/robotic-rabbits-invasive-burmese-pythons-florida/
2•sylvainkalache•46m ago•1 comments

Veritasium: The Ridiculous Engineering of ASML Machine [video]

https://www.youtube.com/watch?v=MiUHjLxm3V0
2•sbt567•52m ago•0 comments

Fixing a Buffer Overflow in Unix v4 Like It's 1973

https://sigma-star.at/blog/2025/12/unix-v4-buffer-overflow/
1•birdculture•52m ago•0 comments