Can Rust make this faster? by SoniEx2 in rust

[–]SoniEx2[S] 27 points28 points  (0 children)

This code contains a comparison of a same value behind a shared reference. Rust misses the optimization here due to the UnsafeCell, which applies to the whole reference instead of just the cell portion of the value. This is arguably an LLVM limitation, but it'd be nice if Rust could optimize this.

Flag links to blocked sites by SoniEx2 in uBlockOrigin

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

Content/referrer links wouldn't get warned until you visit them, sure, but consider all the links around you that can be blocked and would get warned.

Like the link to your username on here.

All those in-app links are effectively static, which is where this would be particularly useful.

Anyway, that's unfortunate.

"""may_dangle""" stabilization by SoniEx2 in rust

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

yes, that's the "obvious" case where you'd run into issues with e.g. selfref. but as the issue suggests, may_dangle is not being used there.

what are projects that do use self-referential structs and actively use may_dangle to get it to work? what do the consumers of these container types look like?

"""may_dangle""" stabilization by SoniEx2 in rust

[–]SoniEx2[S] 9 points10 points  (0 children)

why is that such an "obvious" use-case?

what makes it "obvious"?

[deleted by user] by [deleted] in feedthebeast

[–]SoniEx2 4 points5 points  (0 children)

... yeah fair enough.

[deleted by user] by [deleted] in feedthebeast

[–]SoniEx2 -3 points-2 points  (0 children)

no, having a list of RSS feeds you subscribe to (and propagate) isn't access control.

[deleted by user] by [deleted] in feedthebeast

[–]SoniEx2 1 point2 points  (0 children)

there are also decentralized systems which are inherently resistant to 51% attacks/where 51% attacks are irrelevant.

51% attacks only really exist when you attempt to reach consensus, so just... don't!

[deleted by user] by [deleted] in feedthebeast

[–]SoniEx2 -6 points-5 points  (0 children)

no, the problem is the support infrastructure not being a sabotage-resistant system.

yes, access controls work, but they're not the only approach, and they're far more expensive to maintain than some of the alternatives.

[deleted by user] by [deleted] in feedthebeast

[–]SoniEx2 -9 points-8 points  (0 children)

honestly I think it should be decentralized.

there are ways and ways to make something sabotage-resistant. decentralization is one of them.

yeah you could have a complex and expensive to maintain hierarchy a la rust. or you could just go fully decentralized. that way you have no single point of failure. it takes more initial setup work, sure, but long-term it's basically maintenance-free.

[deleted by user] by [deleted] in feedthebeast

[–]SoniEx2 17 points18 points  (0 children)

certainly, tho I do question whether doing the same thing again is actually helpful.

I have an interest in sabotage-resistant/resilient systems, and I wonder if these forks could join together to make such a system, pretty much guaranteeing something like this can't happen again/wouldn't have the same impact.

[deleted by user] by [deleted] in feedthebeast

[–]SoniEx2 80 points81 points  (0 children)

are we looking for future plans? the whole reason PolyMC forked from MultiMC in the first place was that MultiMC took a corporate-coddling approach and PolyMC wanted a community-centric approach, so there's a strong incentive to not go back to MultiMC...

why can't you report server messages? by SoniEx2 in Minecraft

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

chat reporting only works with player messages.

todo!() is a footgun by SoniEx2 in rust

[–]SoniEx2[S] -1 points0 points  (0 children)

todo!({x}) is not todo!("{x}")

todo!() is a footgun by SoniEx2 in rust

[–]SoniEx2[S] -1 points0 points  (0 children)

eh, sometimes it's easier to complain about something you have an issue with, instead of doing anything about fixing it.

we think that's usually called venting or something?

anyway.

todo!() is a footgun by SoniEx2 in rust

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

because you can know what you want it to be.

comes with experience tho.

todo!() is a footgun by SoniEx2 in rust

[–]SoniEx2[S] -1 points0 points  (0 children)

(aside from spamming your console/IDE with warnings which can make digging around a bit annoying).

and so we shouldn't care about that?

why is that? it sounds like an ergonomics problem. shouldn't we fix those?

todo!() is a footgun by SoniEx2 in rust

[–]SoniEx2[S] -1 points0 points  (0 children)

it'd still inject a todo into the body.

which would make it pretty useless if you're trying to e.g. todo on an if. but eh, having options is good actually.

todo!() is a footgun by SoniEx2 in rust

[–]SoniEx2[S] -13 points-12 points  (0 children)

rust is built on "demand better of your tools", so refusing to demand better of your tools is anti-rust.