Alexis Beingessner
f8a4e96feb
Merge pull request #96 from vorner/reprs
...
Updates to the data layout chapter
6 years ago
Michal 'vorner' Vaner
dd8054bef8
Updates to the data layout chapter
...
* We now have `union` as another composite data type
* The compiler now reorders fields and makes enums a bit smaller in
certain situations.
* We have repr(align(n)) in addition to packed.
6 years ago
Alexis Beingessner
a805a667ba
fixup
6 years ago
Alexis Beingessner
f3fb7c9a8f
Use the alloc_layout_extra feature for Layout::array::<T>
6 years ago
Alexis Beingessner
6ec81e17f6
cleanup
6 years ago
Alexis Beingessner
b28d364f0f
Subtyping rewrite
6 years ago
Alexis Beingessner
7a5aa3ab3a
Merge pull request #97 from fintelia/patch-1
...
Discuss thread::scoped API in past tense
6 years ago
Alexis Beingessner
a73ef29e0a
Merge pull request #91 from vmalloc/patch-1
...
Correct small typo
6 years ago
Jonathan Behrens
148a9625a3
Discuss thread::scoped API in past tense
6 years ago
Michal 'vorner' Vaner
b6e3cbf5b0
There are now 3 unsafe traits in rust
...
Updating the stale information, adding the GlobalAllocator trait.
6 years ago
Rotem Yaari
9e1c1703ec
Correct small typo
...
The term is "out of the way"
6 years ago
Ryan Levick
d870b6788b
Change compiler error message format to new format
6 years ago
Steve Klabnik
7fd493465b
Merge pull request #75 from japaric/panic
...
document #[panic_handler]
6 years ago
Jorge Aparicio
676e7d1aaa
ignore tests
...
mdbook doesn't support no_std code
6 years ago
Jorge Aparicio
5f36fc705b
make link relative
6 years ago
Jorge Aparicio
c005be9493
panic_implementation -> panic_handler; remove unstable features
6 years ago
Alexis Beingessner
ae42ad7aa4
Merge pull request #86 from izderadicka/vector-tests
...
Test and fix to vec-final
6 years ago
Ivan
cce3265e81
Modified test create_push_pop to insert unique values
6 years ago
Steve Klabnik
80ccb196c4
Merge pull request #85 from mbrubeck/fn
...
Add fn to the list of invalid primitive values
6 years ago
Ivan
2edf3dae92
main to print message if all tests succeeds
6 years ago
Ivan
0ab1a6618e
Make tests as doctests - to be run by mdbook test
6 years ago
Ivan
c07c45bd6d
Test and fix to vec-final
...
Fixed Iterator implementation for Drain
Added some tests to code
6 years ago
Matt Brubeck
715585b421
Add fn to the list of invalid primitive values
6 years ago
Boris-Chengbiao Zhou
94964dee31
Remove `unique` feature which doesn't exist anymore
...
`Unique` was marked permanently-unstable in rust#46952 and its feature
flag was changed to `ptr_internals` which we're already using.
6 years ago
Steve Klabnik
4b3335d0da
Merge pull request #82 from RalfJung/ffi
...
Don’t recommend empty enums for opaque types
6 years ago
Ralf Jung
b3d532f55b
explain the empty type better, and explain to NOT use enums
6 years ago
Ralf Jung
d4bc3b59c5
fix for oom rename
6 years ago
Hynek Schlawack
d9abcb680e
Fix definition of contravariance
...
Also clarify what F *is*.
6 years ago
Jorge Aparicio
a0c1de174a
document #[panic_implementation]
6 years ago
Mark Simulacrum
a9b58851a0
Fix nomicon for allocator changes
7 years ago
Alexis Beingessner
c5d5e583ac
Merge pull request #67 from Gankro/subtyping
...
Admit that contravariance exists and clean up the subtyping section
7 years ago
Alexis Beingessner
23e4f08171
Global.oom -> heap::alloc::oom and explanation fixup
7 years ago
Alexis Beingessner
3f12284a7b
Admit that contravariance exists and clean up the subtyping section
7 years ago
Robin Kruppe
9e800adf6f
Update description of float casts
...
https://github.com/rust-lang/rust/issues/15536 has been closed, there's no UB there, so let's stop linking to it. And for the same reasons (LLVM's assumption of the default floating point environment), f64->f32 and int->float casts do actually have a defined rounding mode, ties-to-even.
7 years ago
Simon Sapin
4808cf302d
Cast to `*mut _` to avoid importing std::alloc::Opaque
...
Per https://github.com/rust-lang-nursery/nomicon/pull/62#issuecomment-380555676
7 years ago
Simon Sapin
3c56329d1b
Rename Void to Opaque
7 years ago
Simon Sapin
498ac29974
Use the new GlobalAlloc trait
7 years ago
David A. Ramos
fa41e367bf
Remove box
7 years ago
David A. Ramos
68eb664b6a
Clarify non-nullable pointer optimization in repr(C) section
7 years ago
Hidehito Yabuuchi
89f36d58fc
Replace word 'covariance' with 'variance' for consistency.
7 years ago
Corey Farwell
5aa2345269
Fix code example compilation errors related to `unique`.
7 years ago
Alexis Beingessner
ad5ddd62c0
Merge pull request #53 from bmusin/fix_typo
...
fix typo
7 years ago
Simon Sapin
fec3182d0b
Merge remote-tracking branch 'upstream/master' into rust-pr-46952
7 years ago
Bulat Musin
b0275ab6fd
fix typo, put quotes around Rc
7 years ago
Simon Sapin
79d7569b69
Clarify "unsafe pollutes the module"
...
`unsafe` and `mod` are not magically linked, it’s entirely up to code authors to actively use privacy to limit limit the scope of unsafety and only expose safe APIs (or `unsafe fn`s).
7 years ago
Alexis Beingessner
03697eba8d
Merge pull request #49 from SimonSapin/unique
...
The `unique` feature is renamed `ptr_internals`
7 years ago
Simon Sapin
2b35ebad1d
The `unique` feature is renamed `ptr_internals`
...
CC https://github.com/rust-lang/rust/pull/46952
7 years ago
Dan Robertson
c1dcf1db8c
Fix RFC 1327 hyperlink in dropck
...
- Fix hyperlink to RFC 1327 in the section on the dropck.
- Fix other nits
7 years ago
Havvy
3dc8969723
Rename C-like enums to field-less enums
7 years ago
Alexis Beingessner
2629717682
Merge pull request #43 from bennyyip/master
...
Update for field reordering
7 years ago
BennyYip
918485eb16
Remove note in repr-rust.md
7 years ago
Henri Lunnikivi
60d2621b32
Expand first-in-book use of certain abbreviations
...
- Expand first-in-book use of foreign function interface (FFI) in
safe-unsafe-meaning.md
- Expand first-in-book use of application binary interface (ABI) in
other-reprs.md
7 years ago
Simon Sapin
5b45a89c37
Prefix private fields with _
7 years ago
Simon Sapin
36a7633208
Don’t recommend empty enums for opaque types
...
Fix https://github.com/rust-lang-nursery/nomicon/issues/29
7 years ago
BennyYip
59b4cd530c
Update repr-rust.md
7 years ago
viktor kharitonovich
e45316fbe8
Update vec-drain.md
...
missed comma
7 years ago
Peter Hall
a02cdb73ce
Update exotic-sizes.md
...
[This issue](https://github.com/rust-lang/rust/issues/26403 ) was fixed quite some time ago. The warning should no longer be necessary.
7 years ago
Vojtech Kral
6d91367540
Fix #37
...
Remove obsolete drop flags remark in the 'Other reprs' chapter
7 years ago
Steve Klabnik
a4322ccb28
Merge pull request #28 from Gankro/cleanup
...
Cleanup the first chapter
7 years ago
Alexis Beingessner
680e284b0a
Merge pull request #32 from SimonSapin/nonzero-checked
...
Update for https://github.com/rust-lang/rust/pull/42959
7 years ago
Alexis Beingessner
a08085479b
Cleanup the first chapter
7 years ago
Wilfred Hughes
16399a1e23
Clarify that repr(any integer type) is legal
...
The previous title suggested that `repr(isize)`, for example, was not valid.
I'm not sure if this is great wording, or whether we should add some examples, but I think we can improve the heading.
7 years ago
Simon Sapin
f8fd671039
Update for https://github.com/rust-lang/rust/pull/42959
7 years ago
Steve Klabnik
81134a4dff
Merge pull request #30 from pablocouto/output-update
...
Update compiler output in §3.9
7 years ago
Alex Crichton
56d90fa3c3
Touch up where `Alloc` is imported from
7 years ago
Mark Simulacrum
2e67cfed79
Update to use the new allocator APIs.
7 years ago
Pablo Couto
85de648985
Update compiler output
7 years ago
Steve Klabnik
794c2d6302
Merge pull request #27 from Gankro/reref
...
rewrite references.md
8 years ago
Alexis Beingessner
c4822cd907
rewrite references.md, splitting it out into aliasing.md
...
This stuff didn't end up being useful. A discussing of aliasing is more
useful.
8 years ago
Steve Klabnik
c0e8c56d76
Merge pull request #26 from Rufflewind/master
...
subtyping: clarify the concreteness of 'a in example
8 years ago
Phil Ruffwind
91dbbbcfbd
subtyping: clarify the concreteness of 'a in example
...
This matters because if 'a were free to choose, then the argument would
be trivial. But in reality the argument also holds if 'a was already
chosen, which is what makes lifetimes special.
8 years ago
Nathaniel Ringo
fc58ace60c
Fixes formatting.
...
A line starting with `2.` unfortunately emits `<ol start="2">`, causing the bad formatting seen here: http://i.imgur.com/iaZHmIg.png
8 years ago
Steve Klabnik
95e43bcbc5
Merge pull request #13 from geofft/null
...
other-reprs: Null-pointer-optimized enums are FFI safe unless repr(C)
8 years ago
Steve Klabnik
b4ada32dd3
Merge pull request #8 from geofft/master
...
Document `#[repr(u8)] enum` to enable LLVM optimizations
8 years ago
Geoffrey Thomas
7753a3cc8a
other-reprs: `Option` is FFI-safe, even though it's an enum
...
See also the improper_ctypes lint, specifically is_repr_nullable_ptr in
src/librustc_lint/types.rs.
8 years ago
Geoffrey Thomas
687556987c
Document ABI changes from `#[repr(u*)] enum`
8 years ago
projektir
8acf410db2
Fixing link to Drop trait and catch_unwind; closes rust-lang/rust#42064
8 years ago
projektir
d0f2868141
Adding the FFI chapter from the first edition of TRPL to nomicon rust-lang/rust#42064
8 years ago
Alexis Beingessner
f680164a91
remove spurious ?Sized bound
8 years ago
Alexis Beingessner
e9335c82a2
use new Unique/heap APIs
8 years ago
portal
9cc14cd6a4
Replace occurrences of `uint` with `usize`
8 years ago
steveklabnik
b5f1f9d75e
Add @aldeka's safe and unsafe Ferris
...
https://github.com/rust-lang/rust/pull/33845 lives!
8 years ago
Steve Klabnik
0e31470870
Merge pull request #10 from king6cong/master
...
fix typo
8 years ago
king6cong
3abe4910eb
rewording
8 years ago
king6cong
6dd445b8e7
fix typo
8 years ago
Phil Ruffwind
d08fe97d12
Add Gankro's table to nomicon/src/phantom-data.md
...
Original: https://github.com/rust-lang/rust/issues/30069#issuecomment-159928136
Testing confirms that:
- PhantomData<fn() -> T> does not actually enable drop checking.
- PhantomData<fn(T) -> T> is neither variant nor contravariant.
8 years ago
Luxko
c4ef161ed0
Update exception-safety.md
8 years ago
Luxko
c6dd2ea600
Update exception-safety.md
...
Fix variable name typo
8 years ago
Steve Klabnik
7f2e5abd96
Revert "Fix up links"
...
This reverts commit 7f1d1c6d9a7be5e427bace30e740b16b25f25c92.
The original commit was created because mdBook and rustdoc had
different generation algorithms for header links; now with
https://github.com/rust-lang/rust/pull/39966 , the algorithms
are the same. So let's undo this change.
... when I came across this problem, I said "eh, this isn't fun,
but it doesn't take that long." I probably should have just actually
taken the time to fix upstream, given that they were amenable. Oh
well!
8 years ago
Jeff Muizelaar
8e1e112170
Remove obsolete documentation about drop-flags
8 years ago
Steve Klabnik
853058536b
Fix up links
...
mdbook and rustdoc generate links differently, so we need to change all
these links.
8 years ago
Steve Klabnik
0e6c680ebd
Port Nomicon to mdbook
...
1. move everything under a src directory
2. add README.md to the SUMMARY.md
8 years ago
Steve Klabnik
59c90266d3
Re-implement rustbook in terms of mdbook
...
mdbook has a lot of optional dependencies that we don't want, so instead
of using it directly, we re-build rustbook to use mdbook as a library.
For convenience' sake, we keep the same CLI interface as mdbook; the
only difference is that it only accepts build and test subcommands,
rather than the full range.
8 years ago