491 karma · joined June 20, 2022
As a novice in the language, the amount of type-inference that good Rust incorporates can make things opaque, absent rust-analyzer.
it seems like for the obvious use-cases there might need to be some sort of limit on how much this component knows
Despite the slightly pessimistic view I expressed about the general character of the most starred 18F repos which I also distinctly admitted was probably a myopic view in light of their breadth.
For clarity though, I would think software engineers would prefer to engineer their software with software, and not a bunch of disparate rules of varying quality communicated to people passively.
However yeah, places aren't really hiring. Absurdly gerrymandered roles and specific tech stacks point to probably more backrubs than hiring. Which is fine, if you want crony mcauthorized knuckledragger, take him, your product, your marketing, your teams, your contracts, and your whole history, and gtm.
Django users who would still consider an RIIR web framework, and those who are even aware of the guitar player.
Who wants to fight with C?Make Bazel Ninja?
Also what if the machinery of this arm of government isn't (currently) optimizing the sum of risk-adjusted damage due to mudslides and fires? How do you propose we start over?
As much as I would like to suspect that "Edward Helmore" might have some background in Civil Engineering or statecraft more generally, it seems he's just a New York-based author who writes for a British publication, maybe he's not the best to defer for about the consequences of this area...? I mean, it's not joke, people lose homes in fires and mudslides, and it's not like Trump doesn't know this, but if the current regime isn't optimally preventing or responding to these, then your options are pretty much to just try again.
> The compiler prefers to capture a closed-over variable by immutable borrow, followed by unique immutable borrow (see below), by mutable borrow, and finally by move. Composite types such as structs, tuples, and enums are always captured entirely, not by individual fields. It may be necessary to borrow into a local variable in order to capture a single field [...][1]
Definitely would prefer to avoid this type of concern though. Closures are neat for filters and terminating behaviors, but I've gotten bit by these rules before, myself. Definitely best to use the parameter arguments to be sure about what the closure is gonna receive. Can achieve OK semantics with
move |mut stat: &mut Stat| { ...
and then println!("num {:?}", f(stat))
[1] https://doc.rust-lang.org/1.80.1/reference/types/closure.htm...Even a passing glance it would be immediately clear that it's not a real risk of any sort.
Segment Anything 2: Create video cutouts and other fun visual effects with a few clicks.
Seamless Translation: Hear what you sound like in another language.
Animated Drawings: Bring hand-drawn sketches to life with animations.
Audiobox: Create an audio story with A1-generated voices and sounds.
Without a spec, the world falls into disarray and chance, next you need QA tests, and security auditors, and red teams, salespeople, solutions engineers, tech support, training, and a cascade of managers who try and translate "want" into "does" and "when" and to understand and accept the results. Architects and seniors who are both domain experts and skilled coders as the single truth on what the GUI is even supposed to mean. Taking on varying levels of risk with contracts, hires or expanding and contracting the previously mentioned R&D units. That's not software anymore, that's consulting. It's so expensive and unsustainable that it's only a matter of time until you're the leg that gets gnawed off, which is inevitably the result, when burn and panic (or other negative factors) leads you away from turning pain points (like issues, training, or difficult usage) into ice cubes for a cocktail.
Obviously forcing callers to free means adding lints and docs. Returning borrows leaves the likelihood of entering into explicit lifetimes hell and such in calling code.
A functional interface like (paraphrasing)
// pub fn apply_op(&mut self, FnMut(&mut T, &bindings::dma_addr_t... ))
Keeps pandora inside the box.E: I guess it sort of depends whether the handle is Copy semantics or not.
E2: I guess they're correctly leaking the resource, but I question whether they should, protections like that are kind of the whole point of using Rust to begin with.
The caller takes ownership of the returned resources, i.e., will have the responsibility in calling `bindings::dma_free_attrs`.
Hm, doesn't this violate RAII? Does this need to be public?