Jump in the discussion.

No email address required.

Is memory safety a chud/libtard issue now? lol, I guess Rust is traditionally owned by the :!marseytrain:s

Jump in the discussion.

No email address required.

All is Kulturkampf. Kulturkampf is all.

Nanny state liberals want "safety", but real men embrace undefined behavior.

Jump in the discussion.

No email address required.

Broke: Who cares, it's just a programming language

Woke: Memory Safety is for limp wristed kitty's, real men write in C and are close to the compiler and, by extension, God

Bespoke: The heap is a representation of the anima, the untamed wilds of the self, to cut off our access to this we sever a connection with Mother Nature herself, which is part of the left's War on Consciousness

Jump in the discussion.

No email address required.

The fricking real garbage collection is fricking in the fricking comments

Jump in the discussion.

No email address required.

Even though u probably stole it, top programma joke :marseyokaymilk:

Jump in the discussion.

No email address required.

I remember setting up a fricking string and then printing it character by character and then continuing on past the fricking end of the fricking string. Just printing whatever happens to be sitting there in memory.

God those were the fricking days. When men were fricking men and computers obeyed the fricking commands of their rightful masters.

Jump in the discussion.

No email address required.

noooo the representation should have a fixed lengtherino

:#soycrytalking:

NOOOO it should be ended with a null pointer

:#soyjakyelltalking:

g e t r e k t ⊞ ⥏ ▒ ⨗ ⻯ ⌂ ⭦ ␧ ✠

:#marseygigachadtalking: :#gigachad2talking:

Jump in the discussion.

No email address required.

Write your own compilers, use commodore 64.

Jump in the discussion.

No email address required.

Smart pointers are memory safety enough for me.

It's like wearing a condom, whereas rust is like cutting off your- oh lawd

Jump in the discussion.

No email address required.

I haven't used C++ for years but I really did appreciate the simple elegance of pointers, and how you always knew whether you were modifying the object itself or a copy of the object in a method.

Then again that was in college, I imagine it would be a genuine nightmare in enterprise

Jump in the discussion.

No email address required.

https://github.com/Speykious/cve-rs/tree/main

Blazingly 🔥 fast 🚀 memory vulnerabilities, written in 100% safe Rust. 🦀

cve-rs uses #![deny(unsafe_code)] in the entire codebase. There is not a single block of unsafe code (except for some tests) in this project. cve-rs implements the following bugs in safe Rust:

  • Use after free
  • Buffer overflow
  • Segmentation fault

cve-rs also contains safe reimplementations of:

  • std::mem::transmute
  • std::ptr::null()/null_mut() but for references
Jump in the discussion.

No email address required.

calling my code "safe" to fool the nuclear power plant

Jump in the discussion.

No email address required.

LMAO, it's too late in the day for me to read the specifics of how the crate does this but care for a quick TLDR of how it causes a segfault in safe Rust?

Jump in the discussion.

No email address required.

It's a soundness issue. Consider this function:

fn lifetime_translator<'a, 'b, T>(_val_a: &'a &'b (), val_b: &'b T) -> &'a T {
	val_b
}

It is perfectly safe because 'a must be shorter than 'b (otherwise taking &'a of a &'b would be impossible). So this function just decreases the lifetime of val_b - a perfectly safe and valid operation.

pub const STATIC_UNIT: &&() = &&();

pub fn expand<'a, 'b, T>(x: &'a T) -> &'b T {
	let f: fn(_, &'a T) -> &'b T = lifetime_translator;
	f(STATIC_UNIT, x)
}

Now we can abuse it here. Note that f is perfectly find by matching against the type signature of lifetime_translator. It's just in this 'a: 'b isn't implicitly true like above. The rust trannies claim this will be fixed in their trait system rewrite (that's been going for several years now), but the fundamental issue is that the borrow checker has no formal specification and is instead just a grab bag of heuristics. This fact makes rust trannies seethe.

Jump in the discussion.

No email address required.

>the borrow checker has no formal specification and is instead just a grab bag of heuristics.

big if true

Jump in the discussion.

No email address required.

I'm serious the rules are written nowhere but the compiler source code. "either many reference or 1 mut ref" "stacked borrows" "impl lifetime rules"

Jump in the discussion.

No email address required.

Is fricking memory safety a fricking chud/libtard issue now, b-word?

Terry Davis quite literally told us 'yes'.

:taddance:

Jump in the discussion.

No email address required.

Everything is a chud/libtard issue in current year.


:!marseybooba:

Jump in the discussion.

No email address required.

Memory safety is unironically important. C++ belongs in the trash heap of the 20th Century, the modern day world is for Rust.

Jump in the discussion.

No email address required.

:#soyjaktalking:

Jump in the discussion.

No email address required.

Keep yourself safe :marseytrain: :marseysmugfinn:

Jump in the discussion.

No email address required.

>Oh magic 8 ball, will @BC ever be a woman?

The 8-Ball Says: Most likely.

Jump in the discussion.

No email address required.

:chudi#tsover:

Jump in the discussion.

No email address required.

Even the brainless 8 ball is smater than you.

Jump in the discussion.

No email address required.

Factcheck: This claim is currently being debunked.

:marseyhm#mhips:

Jump in the discussion.

No email address required.

You can have my C++ compiler when you pry it from my cold dead hands

Jump in the discussion.

No email address required.

Link copied to clipboard
Action successful!
Error, please refresh the page and try again.