#cve-rs: Blazingly π₯ fast π memory vulnerabilities, written in 100% safe Rust. π¦
1 messages Β· Page 2 of 1
it's hitting every corner of rust
LMAO
y'all wtf π https://www.libhunt.com/r/cve-rs
a scraper got us
hm? i have ublock and it doesn't do that
oh right custom filters
anyways here's a screenshot
HAHAHAHAHA WHAT
LOL
my body wake up at 4:20 and that's the first thing I see :ferrisClueless:
what?
The fuck 
ublock blacklist filters
The double fucking fuck 
yesyes, but why this website specifically?
github reposter
Can you send it as plaintext pretty pls
send what?
the filter(s)
ΓΆ
the list of filters https://iorate.github.io/ublacklist/subscriptions
Add your subscription
π₯³ π
how is it still going up lmfao
i was just gonna share that
we might actually hit 1k
I'm confident that I'll wake up tomorrow and we'll be beyond that
It'll be the main rust cultural product for like 2 days!
though it's hard to estimate, we are from a pretty biased perspective
my brain when we get multiple seconds of prime time
hey i think we've got a pretty slick logo
if y'all are okay with it i can add it to the readme
@sonic tusk @glossy hatch thoughts on this?
hellll yeah
rendered output
hmm lemme add a gradient to the background
yessssss
no i think i like the black background more
mockups
@glossy hatch any comments on this? i think brightshard is fine with the logo
(sorry for double ping but i'm excited to get this out :P)
damn
:D
logo's live! https://github.com/Speykious/cve-rs
approbd
poof

@glossy hatch sorry for the yet another ping but someone has installed cve-rs from crates.io and the transmute demo doesn't work; can you release a new version to crates.io?
or allow us to access the crates.io site or smth
should we swap out that link
isn't the link only in one comment?
yeah in like src/lifetime_expansion.rs
and the help message in the cli and i think also the explanation
mhm
but if the rust team/reddit mods/everyone agrees that the github issue isn't for casual discussion then people won't discuss it
at least, the majority of people won't
yeah but that's clearly not everyone
kinda think we should swap it out for an internet archive link
chill with that
if you think that's the right decision go for it
some of them definitely are
more of them are just discussing stuff
maybe
which would be the argument for us keeping them in there
also there's already a safe transmute crate??? bruh
but it's fine to caution
fake_static? yea
but it didn't exploit the bug to the level that we did
i mean it's been a thing for almost 10 years
o well
it's more of a gimmick than anything
the exploit
i doubt there would be any legitimate uses for it in code and it's near impossible to accidentally stumble upon
the legit use is me being able to say my code is 100% safe 
lol

so close
WOOOOOO



still more stars than updoots
it's existed for four days
and we already hit 1k stars
spey rackin up folowers
time to make a pull request to fix a typo or something to be part of the illustrious new namtao prodigy project
pog
My prediction was correct it seems lmao
a double borrow with the lifetimes &'a &'b, and single borrow, with the lifetime &'b.
I'd use the same phrase shape for both:
a double borrow with the lifetimes &'a &'b, and a single borrow with the lifetime &'b.
I made my contribution :)
If I had any actual time I totally would love to extend this further into nonsense
Makes me wonder if you could do FFI with this...
oh god
yknow it's getting pretty concerning seeing the CI being queued for 11 hours
It's fine
Anyways I wonder if you could do FFI interactions outside of unsafe blocks from this
Pass a value to the overflowed buffer, sick the C program on it and get UB nonsense :)
Then change the value again in safe rust. Check again with C, or even modify with C. Then check with safe rust...
The possibilities are derpy
I think I'll just cancel all of them
CI has to be fixed
it was posted in another server I'm in
also jeez 1k stars
woops forgot to censor a pfp
I think all the code in cve-rs should be licensed in an extremely restrictive license
that way it's illegal to implement the CVEs in your own code
/j
Toby has solved bugs, everyone!
Yipee
Hackers hate them! Learn how they wiped out all software vulnerabilities with one simple trick
it's so obvious
Rust doesn't want me to implement Into<Box<T>> π
Guys I've invented the most powerful rng
Lmfao
buj what the actual fuck did you do π€£
Ye you have to manually deallocate Refs
That means that this test actually leaks memory
are you sure the ref won't deallocate when it drops?
Yes
Not anymore :)
I think a test for a feature that essentially replicates C-style pointers having memory leaks is perfect
this is amazing
I wasn't following that it was a box before
so the pointer gets dropped but the memory allocation is never deallocated
me code reviewing a PR on a meme repo:
Lol
yo we got a yt vid made about cve-rs! https://www.youtube.com/watch?v=vfMpIsJwpjU
NO WAY LOL
also spey have you seen this?
if i'm pestering you too much let me know lol
Dude it's not stopping πππ
LKJSNDBFLKJNSFBDJKNLSNDFBDB
Ah yeah I had seen it, must've forgotten :v
I'll look at cve-rs properly in a few hours
aight, no worries π
They don't talk about the neat part where we did transmute :(
explained it really well daggum
I didn't even know about the variance stuff
logarithmic?
This is a 100 deg angle
Ye cuz we're running out of Reddit Rust users
But the capitalist economy demands infinite growth, so I propose cve-rs t-shirts and a subscription service
just wait for a video by some ytber that upsets everybody
hellll yeah
merch
cve-rs.shop when
Oh wrong tihng
Wherever it is, I can't find it
we already had a crate published on crates.io before which used this bug to transmute in safe code, see #25860 (comment).
this issue is a priority to fix for the types team and has been so for years now. there is a reason for why it is not yet fixed. fixing it relies on where-bounds on binders which are blocked on the next-generation trait solver. we are actively working on this and cannot fix the unsoundness before it's done.
It's staying for a while
ye
Hoi Spey
a given
I can't, did you make a comment and forgot to press Review Changes
$USD 1/year
(it's a lie)
hm? no it's legit $1/yr
The lower price is just for the first year I think
no if it does that then it'd say "renews at" like this
huh
retail seems to be "this is what our competitors are offering" or whatever
Apparently the domain cve.rs is taken and under construction??
π€·
Domain name: cve.rs
Domain status: Active https://www.rnids.rs/en/domain-name-status-codes#Active
Registration date: 06.11.2021 02:17:20
Modification date: 30.10.2023 21:32:30
Expiration date: 06.11.2024 02:17:20
Confirmed: 16.11.2021 01:11:22
Registrar: Mainstream Public Cloud Services d.o.o.
Registrant: Individual
Administrative contact: Individual
huh :v
Makes sense
quite a lot of the shorter names are parked because they're valuable
some of them are actually used for stuff
YIPPEE
That is probably why, lemme see if I can do it from le phone
I can't ugh
le phone 
nikita
Yes
yippee
why doesn't it just post the comments automatically
the finish button is really hard to find
Really?
π€·
idk feels intuitive enough to me
I'd left the code view
and it's only in the code view
cause i didnt see it while i was still in the code view
I think PhantomData should be Rc actually
Guarantees Send
Actually, was that Rc?
but Arc uses unsafe, no?
i think virtually all of them do...
I think Box::new doesn't use unsafe
is box send?
idk
Only if T is Send
arc, mutex, rwlock
Arc is always Send and Sync
i think those are your 3 options
Useful synchronization primitives.
didn't know rust had so many, dang
A barrier enables multiple threads to synchronize the beginning of some computation.
Cool ig
yeah id never even heard of that one
is there a reason we're leaving old issues open?
or just haven't taken the time to close them
π€·
Β―_(γ)_/Β―
gonna go close em lol
spey did you see this: https://github.com/Speykious/cve-rs/pull/19
now i'm not one to extrapolate, but......
we got as many stars in 1 week as noboilerplate got in 6 months π
big funny energy is actually insanely powerful
i mean
would this be considered as a viral github repo
or is it like too small
it hasn't completely taken over rust discussion yet
keyword being yet
LSKJFNBGLSKDJNBFLKSJDNFBKSDBF
I think it kinda did... primeogen covered it, it was #1 on the subreddit, and now a yt vid
the yt channel is quite small tho
tru
Viral in the Rust community for sure
It can be scoped :p
if we get someone like fireship to cover this in like a code report or whatever we could 100% consider it viral
lmao
But like even in the relatively new languages sphere it's quite viral
I saw it shared in the Zig discord
LOL
lmao oh snap
actually insane
and then nobody said anything
sadge
but well
zig devs, not rust devs
understandable
how big is a c short
u8? u16?
i think u16
i16
thx
unsigned short is u16
ye
but yeah seems like some people are tired of it already...
it is unsigned i just forgor to say that 
lol fair
Tris is the second-most popular person in this discord /j
I am the first :3
I'm me!
We need some politician to join this server fr /j
Casenc at Toby's fr
I'm in their walls :3
I don't have walls
Then whose house is this
hey why am i hearing weird noises from the walls
Damn it, wrong house
Did my GPS get it wrong? Why am I in the wrong continent?
I thought it was built in Rust
Wait...
*squints*
Special thanks to
cve-rs!
Damn it
(You should add Toby :3 )
We can choose for it to mean the original creators of the project, or the current maintainers, I usually opt for the former because it makes sense to distinguish "author" from "maintainer" (and "contributor")
(kinda wish there was a maintainers field in that regard)
On a different note, @sonic tusk I think it'd be cool if you made a PR of the docs branch so we can leave comments there
So turns out, on WASM it still doesn't segfault.
Like 0 is literally a valid address
So anyways I made it segfault 
I can imagine you going "huh... well okay segfault now asshole" punches wasm
+1 for adding toby
he'll eat the code otherwise
:c
then i gotta merge it ughahdkfjlekwjqr
and vscodium is already open to bs not cve-rs and i gotta pull and then find more things to complain about so it sounds really hard to do
:c
it's ok you can do it later xd
id say let me finish this ide driver first but that's what I've been stuck on for the past multiple weeks
(remember when i said id have disk reading maybe done by the end of the week like 4+ weeks ago? aged like fine milk)
oh wait actually we redid segfault to use transmute right? gotta rewrite that whole section
also spey what did you do to make it work in wasm
I used usize::MAX instead of null

dead simple but it's funny lmao
Do u128::MAX /hj
lmao
Would it warp around to being in bounds
(I can't, since that's not the type of an address)

cve-rs be like
Sometimes I wish I had nitro
bruh what that's a thing
if you mean mem::transmute::<u128, &u8>(u128::MAX) it will truncate it since it's putting 128 bits in and taking 64 bits out
...Spey I have an original idea now π
π
safely transmute an u128
into a usize
is it useful? no it'll just truncate
but
it would be funny
soooo transmute copy?
;compile
fn main() {
println!("{}", u128::MAX as usize);
}
18446744073709551615
idk it's already pretty safe :v
transmute that to a string 
is there a non-utf8 string
CStr i think
no
or &[u8]
I don't think so
you can have raw bytes
are you a cpu god
im trying to figure out how to do time rn for bs
I'm gonna release 0.6, any last edits?
because you apparently have to sleep when you read from disks...
hardware interrupts with external timers
Oh wait, the CI!
yeah if you rely on cpu cycles you'll get inaccurate measurements due to pipelining and branch prediction
:/
i think the issue is that it's trying to find a machine that runs both ubuntu and windows at the same time???
no, sadly π
it was a "computer" made out of pure logic gates and did not have an OS or a BIOS or anything of the sort
it just had an ALU, an IO system and some memory
also spey have you published a new version yet
i think you explained this before and i forgor
arithmetic logic unit
Either way I know how to make a good CI
thing that does calculations in a cpu/gpu
Airthmetico-logic unit
so I'll do that rn
It's the bit that does the math
okie
aight
The processing part of CPU lmao
no i think gh will just do one then the other
Β―_(γ)_/Β―
If you're not out of BIOS interrupt mode (16 bit mode?) yet you can use interrupt 1Ch for the timer tick. can't remember how many bloody cycles it is but.
me casually forgetting the most important part of the cpu
the thing is im in between 16 and 64 bit mode
and using interrupts pushes it into 64 bit
and then it no likie
32 bit. Oh so you need a GDT and IDT then
ahh ffs I forget which one it is
i skip 32 bit mode lol
GLHF
and now im trying to do timing... osdev wiki says to read from i/o a certain number of times because that uses like 10ns each time but idk how up to date that is
the Apple approach
yes there is
are you just writing to the disk sequentially?
otherwise you wouldn't be able to write any files
Oh god
i put 0xdeadbeef in between each file
that's a filesystem!
a very rudimentary one
but still a filesystem
or wait
that's cursed. like acutally legit cursed
is a filesystem a narrower definition
also might wanna change channels
Yeah
do you realize
that we have more stars on the repo than messages in here
bro what the actual hell 
quick
someone make a spambot
I'll start
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

(I am consuming much haskell content)
spam :: [Integer]
spam = [1..]
(Just like Haskell, I'm too lazy to actually do it
)
So true bestie
Funny that the only test that works is the one that tests if the task failed successfully
πΏ
well that sucks
i see
Anyways it works now 
It already does it
Wrote a lil release note :p
:D
https://github.com/Speykious/cve-rs/issues/21
and its called cve and not rustve for a reason - only c has cves, rust cannot have cves as it is not c ( \π’ )
I AM SO DEAD
they're so right π
when is the RIIR happening for cve-rs
best interaction ever
the rocket emoji lmao
2k stars1!!!!11!!!11!!!!!
almost there
noooo it's falling off!!
It's following the path of my osu! rank progression 
I was going to make a program that got all of the timestamps and plotted a curve of best fit
but
max 100 at a time
And it's 3am (don't have the brain to send multiple requests)
If somebody smarter could do that, that'd be sick
O(sqrt(n))
we should start a gofundme
or allow funding to the project and give to them
Ferris plushie gofundme :)
i'm writing a funny comment
gimme a bit
beautiful
so you can apparently get llvm errors in rust
I guess it generated invalid LLVM bytecode
wild
i found another way to implement transmute
IT'S FASTER LMAO
(benchmarked old code) ok hm not faster for larger sets
*let's see if i can cook *
let him cook
Holy shit
Lol
im going to bed, will look at it more tomorrow
I need a pointer type I can get the data back from
like Box
but ideally not on the heap for performance
yea lol
Racist /j
Didn't rust itself find loads of esoteric bugs in LLVM because what rust was doing had a habit of exploding LLVM?
what's funny about these LLVM errors is that I believe they're LLVM's type system picking up that shit ain't right, even when rust's fails to
like even it knows what I'm doing is absolute crap 
Isn't it the opposite in the screenshot and it gets better at the dataset size increases
that screenshot is from me running the old code
so the old code was much worse for smol types and a bit better for big types
You WON!
You gained 12 GOLD and 184 EXP!
Your LOVE increased!
I eated it before it could get to my inventory
:c
Official inofficial cve-rs mascot
They gone transmuted the crab into a cat
No
why
catssssssss
transmuting refs instead of types just beat std
downside: cannot return a type, must return a reference
upside: we're faster than std
Lol
I mean, can we not make it return a type with that?
Like, there are containers like Option<T>
Transmute &mut Option<T> into &mut Option<Y> and call .take().unwrap()
ill have to experiment
the type has to compile to a pointer or we get this and llvm catches on
was just luck but still funny to beat std lol
π€·
yes, yes i can
Gnuplot not found, using plotters backend
cve_rs transmute f32 -> i32
time: [426.52 ps 427.74 ps 429.01 ps]
change: [-4.0439% -3.8022% -3.5494%] (p = 0.00 < 0.05)
Performance has improved.
cve_rs transmute_old f32 -> i32
time: [15.899 ns 15.913 ns 15.926 ns]
Found 2 outliers among 100 measurements (2.00%)
2 (2.00%) low mild
cve_rs transmute_ref f32 -> i32
time: [428.21 ps 428.91 ps 429.59 ps]
change: [-0.6503% -0.4648% -0.2801%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
std transmute f32 -> i32
time: [428.43 ps 429.07 ps 429.66 ps]
change: [-0.5139% -0.3491% -0.1758%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
cve_rs transmute [f64; 1024] -> [u8; 8192]
time: [1.0530 Β΅s 1.0552 Β΅s 1.0575 Β΅s]
change: [-23.689% -23.525% -23.361%] (p = 0.00 < 0.05)
Performance has improved.
cve_rs transmute_old [f64; 1024] -> [u8; 8192]
time: [1.5666 Β΅s 1.5718 Β΅s 1.5768 Β΅s]
cve_rs transmute_ref [f64; 1024] -> [u8; 8192]
time: [1.3709 Β΅s 1.3738 Β΅s 1.3766 Β΅s]
change: [-0.8230% -0.5580% -0.2983%] (p = 0.00 < 0.05)
Change within noise threshold.
std transmute [f64; 1024] -> [u8; 8192]
time: [1.3717 Β΅s 1.3748 Β΅s 1.3778 Β΅s]
change: [-1.1822% -0.9016% -0.6312%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
on the bigger dataset I'd say that's pretty reliably faster than std's transmute

that's fucking incredible
it's 2:33 am so ill document and push this tomorrow if spey and creative are ok with it
and then we can advertise speed too :3
(for the record in case I didn't clarify already this uses a completely different soundness hole in rust, meaning we have 2 "cve"s now)
does the speed stay if you just deref the transmuted ref?
there s so many numbers here I can't read :3
they bounce off of my silli littl brain uwu
It's not 
Oh you mean compared to the previous implementation
This is literally blazingly fast
I can't even

We achieved the impossible
come up with new words
"cpu-meltingly fast"
This warrants a blog post
"How we wrote a blazingly fast and safe implementation of transmute"
"Blazingier fasterer: Beating Rust's transmute"
(isn't normal transmute also safe?)
no
It's unsafe
I'm so confused by how the transmute is faster though
LMAOOO
safe?
Yeah safe
Remember there's no usage of unsafe in our implementations at any point
unsafe != not safe
...that's exactly what we mean though
It doesn't use unsafe
If you want to be pedantic, I'd say that unsafe != unsafe
In our code, nothing is unsafe but pretty much everything is unsafe
Me too LOL
You'd think it'd have like no overhead.
...than std 
I think it'd be funny if you break character to ask why this is faster in the code itself lmao
or hmmm
"We don't know why it is faster, however we have not ruled out satanic interference"
btw this is the new bug im exploiting: https://github.com/rust-lang/rust/issues/57893
I filtered issues by unsound and just went digging lmao
We love bugs
there's a few more that give 'static lifetimes but this in particular lets us transmute quite easily
I love dropping bangers
rename new to alloc
Thanks, Rust
How is this allowed?
lmfao
I want to implement Into<T> for T and AsRef<T> for T using transmute
would be really funny
LMFAO
I wanted to make a trait called trans that's implemented for everything and just casts the value
actually I'm going to
Then implement trait Right which unimplements Trans
pub trait Trans {
fn transition<T>(self) -> T;
}
impl<T> Trans for T {
fn transition<T2>(self) -> T2 {
transmute(self)
}
}
LMFAO
pub trait Trans {
fn transition<T>(self) -> T;
}
impl<T> Trans for T {
fn transition<T2>(self) -> T2 {
transmute(self)
}
}
pub trait RightWing: !Trans {}
if only negative trait bounds were supported π
lmao
No inclusivity for right-wingers, conservatists and fascists
We are too woke for that
avg rust programmer
fr
oh and are we gonna keep the previous impl for transmute somewhere?
(i liked it quite a lot)
I also like it
It's in the commit history if anything :v
I was thinking about moving it to lifetime_expansion?
nah
so we have all the lifetime_expansion bugs in there and all the transmute bugs in transmute
slow_transmute
transmute
blazingler_fasterer_transmute
yeah that too
unironically. would be really funny
would be even better if we had a third exploit for transmute
ok, moving what to lifetime_expansion 
if it's transmute then I don't get why
I call this shit which one is the right file versioning system
the current transmute fn
yeah I don't get why
why could it not be in transmute.rs
Commit to backwards compatibility
it could be 
could name it transmute_old ig
I was just grouping it with the exploit it used
I think it'd even make the funny more concise by having slow_transmute, transmute and blazinglier_fasterer_transmute in the same file xD
probably the best
maximize the funny and the education
The very first one?
the slow one is the stack spamming
I think there were 3
sure lmao
discord_developer_transmute
electron_transmute
That's just an insult to Electron
I'm going to have to document this
which I find so funny
bro it has a 50mb hello world
yes
At least it doesn't lag
what are you talking about π
Discord is a laggy mess
all electron apps perform so badly
for me
especially discord but also things like vscodium
Take any Electron app
mattermost is awful
Discord performs worse than all of them
Zed is chad
once they support more platforms 
I can feel it too and I have 16 GB of RAM with a Ryzen 9 CPU
and allow per-project rust-analyzer settings, I really need this >:(
...or at least bring it to usable state
Dude I've been getting "50 MB for a hello world is nothing" kind of braindead takes on Twitter lately
Oh god...
32gb, ryzen 7 iirc, massive ass gpu
Do people even know what a megabyte is anymore
I wanted to make a video where I was making hello world more and more complex
I used to think it wasn't that bad either
until I made my os
and now my entire bootloader is less than 30kib
like all the stages
and now I'm aware
It became so bad I had to fix shit for like 6 hours
especially after having to go and figure out what was adding more space to the bootstrapper
I had tools which were hard to link
I had tools which straight up didn't work
I had tools which didn't work with each other
In fact, at the end I added a thing that would manually patch some file in node_modules to fix module loading for some random package
because it is unfortunately just more normal now...
It was that fucked
idk how anyone uses js
Would be a good video ngl
it's madness
Basically I made a react electron typescript es module hello world with (broken) localization
too many js terms in one sentence for me to understand
Also it used babel and webpack and probably some other shit
like you're not even running on the cpu and yet it's SO FUCKING COMPLICATED
Oh fuck I forgot to add tailwind into this
because everything's trying and failing to fix core issues ig
okie well anyways i need to actually get out of bed
Imo tailwind is fucking ridiculous
so im gonna head out but ill read other msgs later
Sure, it's find for like
Tiny fixes in css
But holy shit if it's overused it becomes 500 times worse than css files
btw @sonic tusk did you stop watching Computer Enhance
π
yeah ill start watching again
I remember when I tried using next.js
Basically I
Created the project
Looked at it
Never looked at it again afterwards
The file structure was already too overwhelming for me
Like
This web server thing has more files than a tiny operating system example
And I'm not talking about node_modules
It's all the files that stare at you right in the face
I remember starting my own thing back in the day just so I can have the very basic thing I want, and while the way I delivered it was... a bit too edgy
But eh, we all were kids
The point still stands - those huge frameworks are too overwhelming to work with
And it gets worse when you need to add some server-side stuff
A lot of those frameworks just don't have server-side in mind
Meanwhile the thing I made had this integration right out of the box because the whole point of it was to just render an html page
For most stuff all I need is to just give somebody an html file
I was just thinking, I've been wanting to follow Handmade Hero for the longest af time
Given that it'll have stuff like allocators in it, I'd want to do it in C instead of Rust just to learn stuff
Hoi
Hello
Ignore that giant block of text
Nah there's just been a lot of discussion lol
i see
The problem is that it is very windows-specific in the first few episodes... But we can make it Linux-specific very easily now that I know how X11 works
cuz I ain't using SDL like handmadepenguin recommends >:v
everything will be oxidised
X11 cring
π«π
i mean if you want some pointers i have code that makes a window with no library here https://github.com/Creative0708/triangle-from-scratch/blob/main/src/main.rs
Wait, you didn't know? :p
https://github.com/loki-chat/lokinit
Guys, let's write a custom windowing protocol
I'd love to work on lokinit again especially if there's one more guy interested hehe
(it's not complete but the basics work on X11)
I just wish wayland-client wasn't as fucked
I'm only interested if I'm given discrete tasks to fulfill π
oh i did not, in fact, know
Pls fix that one ffi'd function from wayland-client, thanks
It's a static member of a class
Does that kind of project interest you π
depending on how small it is
No dependencies
(lies)
π€ yes it does interest me
* that aren't ours 
are there plans for web support?
Currently lokinit has one dependency on Linux: loki-linux, which I just made to separate our bindings from the main lib
No
Not really
But honestly I kinda changed my opinion
what... would windowing on the web do?
Create a canvas
except like, spawn a canvas
that's exactly what it would do
wait answered myself thats exactly it isnt it
yeah obviously a lot of stuff will be restricted
lol fair
Yes
but stuff like winit makes a canvas on web
That's also what winit does
winit works on wasm too, it can handle mouse and keyboard events and everything
winit is so heavy though
YES
i want my 20kb wasm bundle
AAAAAAAAAAAAA
I'm sorry laund I know you disagree but I have to relate to thinking it doesn't have to be this heavy lmao
We do technically depend on dynlinked libraries
Yeah but that's fine since that's how it has to work on the OS
i'll admit i'm wrong if you get 1 big project to switch (at this point that's likelier than loki getting done)
the problem with web is that the way to render frames is completely different
instead of synchronously thread::sleep'ing a frame you have to pass control back to the render thread and wait for requestAnimationFrame() to call a function
an idiomatic solution would be to make everything async
but that introduces the need to include an async runtime
which is OVERHEAD AAAA PANIC
Smack an event queue π
yeah, that's what is most bizarre to me about JS. It's so abstracted and yet still so crappy and overcomplicated.
i beat rust's standard library with a stick other compiler bug
just include a nostd async runtime meant for embedded, they are usually very small
meant to reply this 
Optional async amr? :blurrytroll:
2k games stars
Do we have enough juice for 3!
We're getting stars BLAZINGLY FAST πππ
I prefer this view:
aka: it's only been five days
we're definitely hitting 3k at some point
How's Tris doin'?
it counts # of days instead of showing the calendar date
see it shows 5 days not 17-22
which just gives a scale of how fast this happened lmao
LMAO WHAT
haha YES
yeah what contributed to that?
ig it went on primagen's stream and it went from there
The Reddit post in the Rust subreddit
It pretty much immediately caught on
And then the Primeagen
ah yea
er
errrrrrrrrrrrr
does cargo test work?
seems like a string-specific thing due to the realloc
:0
Yes
????
idfk dude
wait nvm
what
i swear it was passing before
ill work on it tonight idk
does undefined behavior
undefined behavior breaks
TFW
Top 0 of tomorrow
Yea it would be
Crying
We're doing something Javascript dreams of being able to do
We're defining undefined
(undefined is defined as a member of globalThis
I'm gonna work on it later
All Clips are from the live stream of ThePrimeagen
https://twitch.tv/ThePrimeagen
Wanna Become a Backend Dev & Support me at the SAME TIME???
Damn was just about to link that
We got a few seconds of prime lmfao
I think he talked about it for a bit more one one his twitch streams
though I can't look through his vods cause they're sub only
to steal spey's phrasing he was STEAMING over the code in one stream
trying to figure it out
then the next was this
Lol
did you manage to break Prime's brain with the unholy evil that is whatever the fuck it does? (I literally don't even know myself)
I wanna see that clip now lol
it was not all that interesting
haha i don't think he saw the transmute though π
the other yt vid posted in the rust subreddit also forwent (forgoed?) explaining the transmute
it's a trend at this point
also brightshard have you figured out the issue of the transmute bug
the coolest part ffs
my productivity has been i128::MIN all day
ive done
nothing
lmao
I guess I can just push what i have
let you guys look at it
ehhhh not to main lol
another branch or just post a patch file in this discord thread
but yeah i'm down for looking at whatever you've written so far
oh that's what i meant, other branch
π
i aint overriding our very precious, widely-used, stable code with this
lol
Rust is designed to be memory safe. It does not permit null pointers, dangling pointers, or data races.

unfortunately there are no, like, news articles about cve-rs (yet!) so it's unlikely that the wiki page will change due to our revelation
I don't want the wiki page to change tbh lmao
never said i wanted it to
just thought it was funny that the rust wiki page is only very technically inaccurate
HOLY SHIT WE GOT ON PRMIE
in two separate streams
he ignored the do not give any trace back to the original author bit
yeah a bit funky
Everyone's familiar with C, and everyone knows C++.
Similarly, everyone knows about Rust. But have you heard of Rust++?
Rust++ aims to improve the Rust programming language, just like C++ definitely improved the C programming language. You see, Rust is an amazing language, but it has its flaws. For example, you cannot take any actions that might break memory safety in safe Rust. This is very limiting to safe Rust developers.
Rust++ removes these boundaries from the Rust language. Powered by cve-rs, it allows dangling references, null pointers, segmentation faults, buffer overflows, and all the other brilliant features that C and C++ have but Rust does not.
future project idea 
we remake std and core with cve-rs
automatically extend the lifetimes of references to 'static
implement Into<T> for T

rust--
For example, you cannot take any actions that might break memory safety in safe Rust
cve-rs: exists
Rust++ is improving on Rust
ok non-cve-rs rust
lmao
Privated
This week in Rust
tho ig that's according to the license π€
holyy shitttttt

)
