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
Yuki Okushi
ce7f7f8998
Document how to run linkcheck locally
3 years ago
Yuki Okushi
edd83c5d7e
Fix linkcheck failures
3 years ago
Yuki Okushi
1ff9110134
Refine the introduction chapter
3 years ago
Yuki Okushi
edf0d9001d
Move Arc-Mutex chapters into the subdir
3 years ago
Yuki Okushi
04616a672b
Move Vec chapters into the subdir
3 years ago
Eric Huss
2e159b0d30
Merge pull request #273 from JohnTitor/mention-extern-types
...
Mention "extern types" on the opaque structs section
3 years ago
Eric Huss
b44af9d964
Merge pull request #272 from JohnTitor/clarify-aliasing
...
Clarify the conditions on the aliasing section
3 years ago
Yuki Okushi
538345ab83
Turn explanation into a sidenote
3 years ago
Yuki Okushi
c996703c28
Clarify the conditions on the aliasing section
3 years ago
Eric Huss
35cd6225e9
Merge pull request #280 from JohnTitor/edition-2018
...
Upgrade to edition 2018
3 years ago
Yuki Okushi
35f420981b
Upgrade to edition 2018
3 years ago
Eric Huss
f30bc440db
Merge pull request #271 from JohnTitor/clean-up
...
Update some wording making reference to issues/RFCs
4 years ago
Eric Huss
484c6104db
Merge pull request #278 from JohnTitor/compile-fail-subtyping
...
Some improvements on the "subtyping" chapter
4 years ago
Eric Huss
19f63118e3
Merge pull request #277 from JohnTitor/note-fixed-int-2s-complement
...
Clarify casting between the same size fixed ints
4 years ago
Eric Huss
fa1326c429
Merge pull request #276 from JohnTitor/phantomdata-link
...
Add a link to show why unused lifetimes on structs are forbidden
4 years ago
Yuki Okushi
ae5ad9b7ad
Add a link for the variance table on the reference
4 years ago
Yuki Okushi
bcfb3b58a1
Mark on example `compile_fail`
4 years ago
Yuki Okushi
2df3009309
Clarify casting between the same size fixed ints
4 years ago
Yuki Okushi
0d8cefe8dd
Add a link to show why unused lifetimes on structs are forbidden
4 years ago
Eric Huss
5d7bec04c8
Merge pull request #275 from vlad-ion/patch-1
...
Fix small typo in the Drop Check chapter
4 years ago
Vlad Ion
b825a46d15
Fix small typo in the Drop Check chapter
4 years ago
Yuki Okushi
9387d35984
Mention "extern types" on the opaque structs section
4 years ago
Yuki Okushi
4b6eb0ff96
Update some wording making reference to issues/RFCs
4 years ago
Yuki Okushi
1fe5457479
Fix minor style issues
4 years ago
mukund
55de6fa3c1
Clarify some of the language around marking traits safe/unsafe. ( #268 )
4 years ago
Brent Kerby
a462a3ae5c
Use pointer 'add' instead of 'offset' ( #265 )
4 years ago
Brent Kerby
951371fb74
Adjust Vec to build on stable Rust ( #223 )
...
Co-authored-by: Yuki Okushi <jtitor@2k36.org>
4 years ago
Mark Lodato
132a746984
Update link to c++ atomic ordering docs ( #264 )
...
I'm not sure if this is actually desirable. For one thing, the link I used isn't
locked to c++20 exactly. But it is the same page the [std lib](https://doc.rust-lang.org/std/sync/atomic/enum.Ordering.html ) links to
so that may be good for something.
I'm also not sure if other references to `C++11` should be updated or removed.
Basically, I feel like _something_ should change here but I'm not really sure what :-\
4 years ago
Daniel Franklin
8551afbb2c
Add example of thinking about Send/Sync's soundness ( #259 )
...
Co-authored-by: Daniel Henry-Mantilla <daniel.henry.mantilla@gmail.com>
Co-authored-by: Yuki Okushi <jtitor@2k36.org>
4 years ago
Yuki Okushi
6fe476943a
Merge pull request #257 from skade/opaque-types-fix
4 years ago