| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Fixes #28053
|
|
Fixes #27936
|
|
Fixes #27936
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I am not sure this would work... I didn't test.
|
|
r @steveklabnik ?
|
|
It came up twice in quick succession on IRC that rustdoc doesn't run tests in bin crates, and doesn't give any explanation/warning either as to why. I thought it couldn't hurt to emphasize that in the Book.
|
|
|
|
|
|
|
|
|
|
This is where panic!() is introduced.
|
|
This is where panic!() is introduced.
Fixes #27428
|
|
Fixes #26938
|
|
Fixes #26938
|
|
reported by @chris-code here: https://github.com/rust-lang/rust/issues/24486#issuecomment-130812460
|
|
PR for [Issue #27681] (https://github.com/rust-lang/rust/issues/27681). A simple update to the latest version of rust when typing the command rustc --version.
|
|
Also fixes a few outdated links.
|
|
|
|
The previous wording was confusing. While would we need to go through
the whole list just to find the first code point? `chars()` being an
iterator, we only need to walk from the beginning of the list.
Note that I am not a native English speaker and I have still difficulties to spot if a "the" is needed somewhere. Feel free to take this PR as a mere suggestion.
r? @steveklabnik
|
|
Fixes #27303
|
|
This commit removes all morestack support from the compiler which entails:
* Segmented stacks are no longer emitted in codegen.
* We no longer build or distribute libmorestack.a
* The `stack_exhausted` lang item is no longer required
The only current use of the segmented stack support in LLVM is to detect stack
overflow. This is no longer really required, however, because we already have
guard pages for all threads and registered signal handlers watching for a
segfault on those pages (to print out a stack overflow message). Additionally,
major platforms (aka Windows) already don't use morestack.
This means that Rust is by default less likely to catch stack overflows because
if a function takes up more than one page of stack space it won't hit the guard
page. This is what the purpose of morestack was (to catch this case), but it's
better served with stack probes which have more cross platform support and no
runtime support necessary. Until LLVM supports this for all platform it looks
like morestack isn't really buying us much.
cc #16012 (still need stack probes)
Closes #26458 (a drive-by fix to help diagnostics on stack overflow)
r? @brson
|
|
This commit removes all morestack support from the compiler which entails:
* Segmented stacks are no longer emitted in codegen.
* We no longer build or distribute libmorestack.a
* The `stack_exhausted` lang item is no longer required
The only current use of the segmented stack support in LLVM is to detect stack
overflow. This is no longer really required, however, because we already have
guard pages for all threads and registered signal handlers watching for a
segfault on those pages (to print out a stack overflow message). Additionally,
major platforms (aka Windows) already don't use morestack.
This means that Rust is by default less likely to catch stack overflows because
if a function takes up more than one page of stack space it won't hit the guard
page. This is what the purpose of morestack was (to catch this case), but it's
better served with stack probes which have more cross platform support and no
runtime support necessary. Until LLVM supports this for all platform it looks
like morestack isn't really buying us much.
cc #16012 (still need stack probes)
Closes #26458 (a drive-by fix to help diagnostics on stack overflow)
|
|
Also fixes a few outdated links.
|
|
The previous wording was confusing. While would we need to go through
the whole list just to find the first code point? `chars()` being an
iterator, we only need to walk from the beginning of the list.
|
|
Keeping integer values and integer references in the "value" columns made the examples quite difficult for me to follow. I've added unicode arrows to make references more obvious, without using a character with actual meaning in the rust language (like `&` or previously `~`).
|
|
r? @steveklabnik
|
|
|
|
|
|
|
|
Fixes #27303
|
|
|
|
|
|
1. mention them in the function chapter
2. mention their coercion to closures in the closures chapter
Fixes #26746
|
|
We haven't discussed this syntax yet, so provide a basic explanation
and link up to later chapters.
Fixes #26917
|
|
'work' can refer to the game itself, ie, 'this compiles but the game isn't finished,'
so 'compile' is a more clear way to describe the problem.
Thanks jhun on irc
|
|
I also included some smaller trait-related changes.
Fixes #26991.
r? @shepmaster
r? @steveklabnik
|
|
1. mention them in the function chapter
2. mention their coercion to closures in the closures chapter
Fixes #26746
|
|
We haven't discussed this syntax yet, so provide a basic explanation
and link up to later chapters.
Fixes #26917
|
|
'work' can refer to the game itself, ie, 'this compiles but the game isn't finished,'
so 'compile' is a more clear way to describe the problem.
Thanks jhun on irc
|
|
- Successful merges: #27519, #27521, #27525, #27527, #27528
- Failed merges:
|
|
- Move "Destructuring" after "Multiple patterns", because some of
later sections include examples which make use of destructuring.
- Move "Ignoring bindings" after "Destructoring", because the former
features Result<T,E> destructuring. Some of examples in later
sections use "_" and "..", so "Ignoring bindings" must be
positioned before them.
- Fix #27347 by moving "Ref and mut ref" before "Ranges" and
"Bindings", because "Bindings" section includes a somewhat
difficult example, which also makes use of "ref" and "mut ref"
operators.
|
|
|
|
- Move "Destructuring" after "Multiple patterns", because some of
later sections include examples which make use of destructuring.
- Move "Ignoring bindings" after "Destructoring", because the former
features Result<T,E> destructuring. Some of examples in later
sections use "_" and "..", so "Ignoring bindings" must be
positioned before them.
- Fix #27347 by moving "Ref and mut ref" before "Ranges" and
"Bindings", because "Bindings" section includes a somewhat
difficult example, which also makes use of "ref" and "mut ref"
operators.
|