Rust zealot containment thread

This thread is for all self-mastubatory discussion of why Rust is supposedly the best language ever and is a viable replacement for C.

I'll get it started:
>No stable ABI
>Expects to be taken seriously

me on the left taking a selfie

but rust is shit, you cant masturbate shit

Fucking weebshit C toddler get out

>C tard
>Disgusting Pedophile
Kill yourself

C doesn't even have a exception handling

AHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAH *INHALE* AHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAH

aren't you roosters supposed to be at school?

owo

Great thread.

Tell me about the NSA!!!
Why do they shill C?

C doesn't have operator overloading as well.

What a fucking trash

Simple, they are baiting weebs and children to continue producing exploit prone binaries with C

OP is an NSA shill and he's looking to bait Sup Forums with weeb image

>no stable ABI
True, and that will prevent some use cases, but you can use repr(C) (C representation) for things that need to be portable.

Enjoy your unsafe { } plastered all over the place.

Showed him huh

>C program
Safety is optional
>Rust program
>Unsafe bolcks are optional

NSA is mad aren't they

It's really typical of all you sorts of retards, including Sepplesfags.
>HURR C IS SO UNSAFE
>BUT ITS FINE IF WE USE THEIR ABI, BECAUSE WE'RE TOO INCOMPETENT TO MAKE OUR OWN ONE STABLE

Using repr(C) isn't unsafe, and neither is accessing repr(C) structs. Only specific stuff like adding a lifetime to a *const T or *mut T is unsafe, for obvious reasons.

What if Rust is actually a CIA invention, and there is a war between C shills and Rust shills?

Will the NSA win? Are they big guys?

Really makes you think

tfw not invited to the party :c

Ladies and gentlemen. Let me demonstrate the shittyness of C

Good goy

That isn't C. That's TRASH/C aka G*U/C

NSA/C actualy

>void main
Are you serious?
At least PRETEND you know C.

I don't think you understand. The compiler is ACTUALLY following C specifications and breaking the program

NSA/G*NU/C actually
>C specifications
>C
>specifications

int main doesn't fix the issue, mouth breathing C tard. Or NSA actually trained you to control damage this way?

This is how C is supposed to work.
If you can't see why that does what it does, then you don't deserve the computer you are shitposting on.

>int main doesn't fix the issue
using a non-broken-non-leftist-non-garbage compiler does. it doesn't fix C though, just your "problem" in particular.

see C(ancer) is meant to be broken. So GNU did nothing wrong there

Shh...
C stands for Communism

everything G*U does is by definition wrong.

Me taking the selfie with a bow

So safety is optional in both languages? Really makes you think...

Pretty sure D's write() can't be implemented without implicit type information about its arguments, otherwise it wouldn't be able to distinguish numerical from string arguments. Which means it's an abstraction on par with C++ member functions, and under the hood, in terms of code generation, it has to use something very much like printf's type specifiers.

I get you are either a streetshitter, a cuck or a faggot, but how is that broken?
Prefix -- is an ASSIGNMENT operator, it is an expression and is thus evaluated before it is passed to printf().
This is EXACTLY how it is supposed to work.
D allowing that is a mistake, and obfuscates the purpose of postfix and prefix -- and ++.

Safety is optional in C
(((Un)))safety is optional in Rust

C stands for Cucks

>D allowing that is a mistake
So does Clang

Nice one cuck.
Go prep Jamal and let the big boys talk about programming.

yo cartoon bitch

So in other words, Rust is as unsafe as C, they just use fancy language to hide that?

operator overloading has very little use outside of matrix and vector arithmetic.

It also doesn't make sense to use operators that have no real relation to what you're doing.

URGENT REMINDER

C apologists are NSA shills plain and simple. Rust makes it harder to produce vulnerable programs as it actually implements safety precautions like Bounds checking, dangling pointer prevention, data race prevention, lifetimes etc. This is against the interest of the NSA and so they are shilling C so that people continue to produce exploit prone, unsafe and vulnerable programs.

Ignore the NSA/C shills. Programming in C should be banned and outlawed.
Say no to security exploits, say no to the NSA. Your data and your privacy is worth preserving.

That is non standard.
I have never heard of another compiler supporting that.
Also
>clang for C
Now I know you're shitposting.

Unsafe is in the unsafe {} block
There is no safe {} block in C(ancer)

Does C have exception handling?

>Hidden gotos
No thanks.

hi user c:

Rust is as unsafe as C, but the safety of a Rust program is much, much more easily auditable than the safety of a C program. Many major libraries are written in 100% safe rust, meaning you limit your audit to the much smaller "unsafe sections of rust libraries containing some unsafe".

Yes, functions can return error codes and you handle your own errors as they happen.

Me the brunette cutie on the right with the glasses.

setjmp() and longjmp() are the closest thing.

They're planning on adding a SAFE() function-like macro in C18. Any code inside the parentheses is guaranteed not to cause any exploits or run-time errors.

That's a poorest example you could give. Next thing you will say C has operator overloading too

Linux kernel won't work in rust.

>C18

C11 hasn't even been implemented.

It has functions, which is what operator overloading is syntactic sugar for.

But it'll depend on the HALTS() macro which won't be standardized.

PORT OPENBSD in RUST

GCC has pretty solid support for C11.

>C experience
void print_ii(int a, int b) { printf("int, int\n"); }
void print_di(double a, int b) { printf("double, int\n"); }
void print_iii(int a, int b, int c) { printf("int, int, int\n"); }
void print_default(void) { printf("unknown arguments\n"); }

#define print(...) OVERLOAD(print, (__VA_ARGS__), \
(print_ii, (int, int)), \
(print_di, (double, int)), \
(print_iii, (int, int, int)) \
)

#define OVERLOAD_ARG_TYPES (int, double)
#define OVERLOAD_FUNCTIONS (print)
#include "activate-overloads.h"

int main(void) {
print(44, 47); // prints "int, int"
print(4.4, 47); // prints "double, int"
print(1, 2, 3); // prints "int, int, int"
print(""); // prints "unknown arguments"
}

>(((GCC)))

>C tards have to do THIS for such simple features

Required to compile Linux kernel, only reason why it's still used because Linus refuses to allow any other compiler.

LLVM Clang and tcc are nice

He asked for C++ style exceptions in C
That is literally the closest you can get to that.
Unless there is a better way, in which case enlighten me.

explain why you would ever need garbage code that relies on function overloading

that's what va_args is for, and that has almost no real use outside of writing wrapper functions for vsprintf family functions.
In fact, the only reason it exists is to allow printf to work the way it does.

Just admit C doesn't have exception handling.

Next. Does C have constructors?

>Required to compile Linux kernel
Wrong. Loonkeks is trash anyway.

Yuk that's some unreadable C(ancer)

That's not what I asked fucko, try again.

Try compiling the kernel with any other compiler and see what happens.

That's neat actually.

C programs become unreadable once it graduates from a typical fizzbuzz

What would you consider a constructor?

The actual C code in that excerpt would be perfectly readable if they used 1TBS.

>Next. Does C have constructors?
No. It's garbage, but it's not that bad.

>lul u don't need it xd
Next question:
Does C have any monads?

Can you first explain to us mere mortals what a monad is?

>lul u don't need it xd
Yeah, why would you need something which is designed purely to make your code shittier?
>Does C have any monads?
No. (((C(ancer)))) is fucking garbage.

>waah, it doesn't work like my favorite language!!! ;-;
Come back when you actually learn how functions are called.

People at Clang surely thought how it should print 3 2 1.
Really makes you think

So are the Rust shills from Sup Forums
That explains a lot actually.
In fact I think I'm going to give up C now that some Sup Forumsacks in their infinite tech wisdom think that it is suck.
It is clearly their field and all.

>functions
Not a function.

>clang
That's non standard then. That's not how an assignment operator is supposed to work.

We're talking about C, not BASIC.

You mean Cancer, not BASIC

Why do r*dditors like to force memes so much?

It's the only thing they know how to do.
They can't make good memes so they try and steal ours or force their shitty ones.

...

>Sup Forums shilling anything related to mozilla

saved

What's /our language/ ?

D

You mean write a microkernel like L4 or something in Rust (and then go full Terry A Davis angry because you have to leave unsafe operations in order to get anything to work)

Not Haskell?

yes

Ada/SPARK is the ideal choice

Garbage.
Yes, Haskell.

All required features of C11 have been completely implemented in both GCC and Clang.