Yuki Okushi
c192af31ce
Fix wording on the aliasing section
...
It should've said "the value of a local variable cannot alias
things...".
2 years ago
Arthur Milchior
09044272ec
Clarification of borrowck ( #354 )
2 years ago
Daniel Henry-Mantilla
7284d09164
Update the now stale warning about `PhantomData<T>` and dropck ( #363 )
...
Co-authored-by: Yuki Okushi <jtitor@2k36.org>
2 years ago
diffuse
708c774ff5
Minor language fixes ( #364 )
2 years ago
Arthur Milchior
10d40c59a5
Introducing init/uninit before its use ( #355 )
3 years ago
Arthur Milchior
eaa3a92cc5
Change will to would to discuss what don't occur ( #361 )
3 years ago
Arthur Milchior
20dec1d016
State that pop for length 1 is an example ( #360 )
3 years ago
Arthur Milchior
c564f0fbf3
Correct a sentence that didn't seem to be proper ( #358 )
3 years ago
Arthur Milchior
6ea5877b07
Indicate that C reference are C reference ( #357 )
3 years ago
Arthur Milchior
784685cc48
Introduce and avoid dropck ( #353 )
3 years ago
Arthur Milchior
45a76e867a
Rephrase improperly reduced borrows introduction ( #352 )
...
Co-authored-by: Yuki Okushi <jtitor@2k36.org>
3 years ago
Arthur Milchior
44428ea589
Two lifetime clarification ( #350 )
3 years ago
Arthur Milchior
946038b2f9
"UB" vs "Undefined Behavior" ( #349 )
3 years ago
Marijn Schouten
c7d8467ca9
Change "writers" to "readers" for Deref. ( #346 )
3 years ago
Aria Beingessner
11f1165e8a
Make the Vec impl be slightly more careful with ZSTs and alignment.
...
This also incidentally makes the ZST code and final code have the same formatting for the divide.
3 years ago
Kirin
e64ea939f0
implement `IntoIterator` for `Vec` ( #337 )
3 years ago
Ramnivas Laddad
7ea147e4f6
Add an explanation shared to exclusive transmute ( #344 )
3 years ago
Qingyou Meng
f6d6126fc9
ffi: explicitly declare hello_from_rust for C99 ( #343 )
3 years ago
Marcelo Diop-Gonzalez
90993eeac9
Fix a small typo in exception-safety.md ( #341 )
3 years ago
Kirin
78da21c40b
Make `Vec::new` public in vec-alloc.md ( #336 )
3 years ago
Eric Huss
98a2ca0eef
Merge pull request #335 from BillXWB/master
...
Fix a syntax error in leaking.md
3 years ago
Kirin
32733960df
Fix a syntax error in leaking.md
3 years ago
Eric Huss
9493715a62
Merge pull request #332 from kevinji/patch-1
...
send-and-sync: it's -> its
3 years ago
Kevin Ji
62d1967825
send-and-sync: it's -> its
3 years ago
fmease
f4d1b4200d
Clarify the HRTB chapter ( #330 )
3 years ago
Nicolas Abram
ca00ee8314
Clarify repr(transparent) in other-reprs ( #329 )
...
Co-authored-by: Yuki Okushi <yuki.okushi@huawei.com>
3 years ago
Alan Wu
0e5a200124
Make C code more recognizably C ( #331 )
3 years ago
khollbach
66d097d3d8
Fix typo / type error in FFI code example ( #327 )
3 years ago
Alyssa Haroldsen
c05c452b36
Update the guidance on uninitialized data with ptr::addr_of_mut ( #325 )
3 years ago
Paul C
49681ea4a9
Clarify that drop flag fields only apply to older Rust versions ( #324 )
...
Co-authored-by: Yuki Okushi <jtitor@2k36.org>
3 years ago
chubei
c6b4bf831e
Replace some use of variant with covariant ( #322 )
3 years ago
Eric Huss
358e6a61d5
Merge pull request #296 from JohnTitor/call-rust-code-from-c
...
Write a basic "call Rust from C" example
3 years ago
Eric Huss
6c2aeef84b
Merge pull request #294 from JohnTitor/clarify-safe-vs-unsafe-relation
...
Clarify the Safe vs. Unsafe Rust relationship
3 years ago
syoh0708
b6808de76b
Fix typo with respect to dangling pointer ( #319 )
3 years ago
Victor Costan
2d66852a27
Fix typo/minor grammar error in subtyping.md ( #317 )
3 years ago
Pure White
650d2454d7
doc: clarify `thread::scoped::JoinGuard` chapter ( #313 )
3 years ago
Josh Triplett
7cf00d4381
Clarify niche optimization on enums with reprs ( #315 )
3 years ago
Andrew Meredith
e0aa678dee
Update rc decrement snipped ( #316 )
3 years ago
Waffle Maybe
191c06c79c
Remove useless `unsafe`, `mut` and ptr casts in example in `send-and-sync.md` ( #308 )
3 years ago
Noah Lev
2747c4bb2c
Clarify a bit of wording ( #310 )
3 years ago
Yuki Okushi
88b2dbcce6
Apply review comments
3 years ago
Yuki Okushi
543c9b1bd7
Show the output
3 years ago
Yuki Okushi
044051c0ed
Move the section higher
3 years ago
Yuki Okushi
64553aa569
Write a basic "call Rust from C" example
3 years ago
Gus Wynn
fe6227eb3c
update lifetime-elision to show what elided code under `rust_2018_idi… ( #306 )
...
This was a bit confusing for me to read, as it was using an old style of rust that I am not used to
Unfortunately, this lint group isn't on by default, but I think `elided_lifetimes_in_paths` may be on track to be deny-by-default in edition 2021?
3 years ago
zachmatson
8da31d7a28
Change code for `into_iter` on the `RawVec` section for consistency/soundness ( #302 )
3 years ago
Manish Goregaokar
0c7e5bd142
Merge pull request #298 from ssbr/patch-1
...
Document lifetime elision for fn types, Fn*, impl
3 years ago
Devin Jeanpierre
3abf036ebf
Document lifetime elision for fn types, Fn*, impl
...
Currently, the lifetime elision doc only documents function definitions, but lifetime elision is also allowed in the following other locations:
* `fn` types, such as `fn(&T)`
* `Fn`/`FnMut`/`FnOnce`, such as `Fn(&T)`
* `impl` headers
To demo this up, I made some type aliases for `fn`/`Fn` which you can pass `&T` as a parameter to (to follow the lifetime rules of the surrounding context), and compared what you get with that instead of using `fn`/`Fn` directly, where lifetime elision takes on the rules from `fn`/`Fn`/etc.
I also demoed up an `impl` header that used lifetime elision twice, although the error message in that case is broken (filed https://github.com/rust-lang/rust/issues/87763 )
The demo was half for this change description, and half just to make sure I understand Rust -- in particular, I really had to reverse engineer it for `impl` because I wasn't sure, and it didn't seem to be documented anywhere (at least not here!)
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=f82b280de4b992f225bc32121f333e96
3 years ago
Eric Huss
bf9b837b25
Merge pull request #297 from JohnTitor/say-goodbye-to-extern-crates
...
Remove unnecessary `extern crate`s
3 years ago
Yuki Okushi
3e8f80c6cc
Note that this book is edition 2018
3 years ago