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
DrMeepster
dcd6c28312
add thiscall abi
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
Yuki Okushi
c42314b09b
Remove unnecessary `extern crate`s
3 years ago
Yuki Okushi
e43b81128f
Clarify the Safe vs. Unsafe Rust relationship
3 years ago
Thirds
f51734eb55
Add cloning example for dot operator behaviour ( #292 )
...
Co-authored-by: Yuki Okushi <yuki.okushi@huawei.com>
3 years ago
Yuki Okushi
7a13537f96
Apply review comments
3 years ago
Yuki Okushi
b0ec7251db
Fix some style issues
3 years ago
Yuki Okushi
c162bb71e9
Move the list of coercions to the reference
3 years ago
Yuki Okushi
ff25fa253d
Add an example that shows the null-pointer opt does not happen
3 years ago
Eric Huss
ca4aa393d7
Merge pull request #287 from JohnTitor/casting
...
Remove casting list from the nomicon
3 years ago