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
Eric Huss
5023ba0a23
Merge pull request #288 from JohnTitor/audit-ignore
...
Audit `ignore` annotations
3 years ago
Yuki Okushi
5e789618d9
Audit `ignore` annotations
3 years ago
Yuki Okushi
b12f36805c
Re-organize casting section
3 years ago
Yuki Okushi
f2e228e8eb
Remove casting list from the nomicon
3 years ago
Evan Lu
5de61f9784
rename typo "lifetime" to "reference" ( #286 )
...
Co-authored-by: evan l00 <evan_l00@qq.com>
3 years ago
Yuki Okushi
3bdccf4402
Add an incomplete warning to the top page ( #274 )
3 years ago
Jason Heeris
b9ca313e68
The #[repr(C)] attribute on the callback example is not necessary, since the type is not used in C.
3 years ago
Eric Huss
ce7f52b0ad
Merge pull request #282 from JohnTitor/reorganize-chapters
...
Reorganize some chapters
3 years ago