rust-101 | A tutorial for the Rust language | Learning library
kandi X-RAY | rust-101 Summary
kandi X-RAY | rust-101 Summary
A tutorial for the Rust language
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of rust-101
rust-101 Key Features
rust-101 Examples and Code Snippets
Community Discussions
Trending Discussions on rust-101
QUESTION
I was following along with this tutorial on creating a concurrent counter struct for a usize
value: ConcurrentCounter
. As I understand it, this wrapper struct allows us to mutate our usize
value, with more concise syntax, for example:my_counter.increment(1)
vs. my_counter.lock().unwrap().increment(1)
.
Now in this tutorial our value is of type usize
, but what if we wanted to use a f32
, i32
, or u32
value instead?
I thought that I could do this with generic type arguments:
...ANSWER
Answered 2021-Jun-15 at 23:55I haven't come across such a ConcurrentCounter
library, but crates.io is huge, maybe you find something. However, if you are mostly concerned with primitives such as i32
, there is a better alternative call: Atomics, definitely worth checking out.
Nevertheless, your approach of generalizing the ConcurrentCounter
is going in a good direction. In the context of operation overloading, std::ops
is worth a look. Specifically, you need Add
, Sub
, and Mul
, respectively. Also, you need a Copy
bound (alternatively, a Clone
would also do). So you were pretty close:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install rust-101
Rust is installed and managed by the rustup tool. Rust has a 6-week rapid release process and supports a great number of platforms, so there are many builds of Rust available at any time. Please refer rust-lang.org for more information.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page