TWiR quote of the week


#525

(has niko become rustc’s dad?)

eddyb


#526

“We’re able to replicate the structure of cows, but not their lifetimes, in C++, which makes Cows dangerous.” – https://twitter.com/hsivonen, closing his talk about integrating Rust and C++


#527

Excellent showcase of the potential of multithreading, unlocked by Rust:

TL;DR: I reduced the dump time from 506s to 26s by fixing some simple issues and taking advantage of Rust “fearless parallelism”.

From: Speeding Up dwarfdump With Rust


#528

When picking up a lentil (Result) a pigeon (?) must consider two options. If the lentil is a good one (Ok), the pigeon simply puts it into the pot (evaluates to the wrapped value). However, if the lentil happens to be a bad one (Err), the pigeon eats it, digests it (from) and finally “returns” it. Also the silhouette of a pigeon kind of resembles a questionmark.

From @anatol1234 on internals.


#529

(after explaining bit of Rust using Java)

I’m sorry to have subjected you to Java. You can stop weeping and screaming now, you’re not in the first year of your computer science course anymore. Unless you are, in which case I’m so sorry.

http://troubles.md/posts/why-phantomdata/


#530

It can seem overwhelming when starting to learn Rust, because some of the stuff you need to be productive is more complex than in C++ (e.g. the borrow checker) so the initial curve from zero to productive is steeper, but it soon becomes second nature and then it’s smooth sailing. Whereas in C++ it’s easier to get started but you’ll be sailing in a stormy sea with monsters (who want to segfault you) from the start, and have to spend a lot of time debugging…

@Boscop on reddit https://www.reddit.com/r/rust/comments/8qkv6a/im_worried_were_going_to_reach_c_levels_of/e0kel9x/


#531

(Update: It’s from https://github.com/rust-lang/rfcs/pull/2457#issuecomment-396811743)


#532

it seems like by making my function use AsRef, i gain the ability to pass all kinds of crap into it, but not a simple refernece

– jamadazi on #rust-beginners (unlogged channel, permission to quote given)


#533

In Rust it’s the compiler that complains, with C++ it’s the colleagues

By Vorner on the Gitter channel. https://gitter.im/rust-lang/rust?at=5b212b1a37a2df7bed398c7c


#534

Rust has good reason to be damn proud of our good friend borrowck! She always has our back when it comes to things like data races or reference invalidation, and while she might seem an aloof mistress to the uninitiated, she is actually much like a loving mother, keeping us all safe & sound.

@llogiq on Reddit: https://www.reddit.com/r/rust/comments/8qvcqe/systems_languages_an_experience_report/e0mmpmm


#535

@vitalyd channeling respect, code safety and learning in the discussion How (not) to use unsafe code, truly showing the best that the Rust Community has to offer!


#536

Starting with the rust 2018 preview, if one of your dependencies isn’t sufficiently crate, you can import it with the following syntax to make it up to 100% crater than the default:
crate extern crate foo;

/u/ben0x539 on /r/rust


#537

From deep in the bowels of internals.rust-lang.org Centril brings this nugget of wisdom:

I think the notion that you can add dependent types without changing / expanding the mental model is mistaken personally.


#538

From @eugene2k:

Freedom to shoot yourself in the foot is not a rust marketing point :wink:

Source: Why can't I increment a variable like this?


#539

If only rustc could check my comments as thoroughly as it checks my code

/u/asbananasasyousay


#540

From @mbrubeck on IRC on why there are no nightlies for the last 4-5 days:

bors lives at the north pole, so near the summer solstice it’s never night, hence no nightlies


#541

@skymuse From skymuse in this Rust users forum:


#542

actix-web has removed all unsound use of unsafe in its codebase. It’s down to less than 15 occurences of unsafe from 100+.

Title of the /r/rust thread celebrating this commendable achievement.

(Thanks /u/_ar7 , I agree that after the shitstorm actix-web received, we should also spread the love)


#543

What we’ve seen is a huge shift in our capacity to make point releases, rather than a shift in the necessity of making point releases. This doesn’t seem to me like a cause for concern.

@withoutboats on internals

A good nugget on the reason for the (percieved) increase in point releases recently.


#544

References are not pointers, but temporary locks on data.

(Kornel in Cannot move out of borrowed content take 2 )