-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollup of 10 pull requests #47998
Rollup of 10 pull requests #47998
Commits on Jan 30, 2018
-
Configuration menu - View commit details
-
Copy full SHA for b9f7564 - Browse repository at this point
Copy the full SHA b9f7564View commit details -
Configuration menu - View commit details
-
Copy full SHA for a99b5db - Browse repository at this point
Copy the full SHA a99b5dbView commit details
Commits on Jan 31, 2018
-
wherein the parens lint keeps its own counsel re args in nested macros
In rust-lang#46980 ("in which the unused-parens lint..." (14982db)), the unused-parens lint was made to check function and method arguments, which it previously did not (seemingly due to oversight rather than willful design). However, in rust-lang#47775 and discussion thereon, user–developers of Geal/nom and graphql-rust/juniper reported that the lint was seemingly erroneously triggering on certain complex macros in those projects. While this doesn't seem like a bug in the lint in the particular strict sense that the expanded code would, in fact, contain unncecessary parentheses, it also doesn't seem like the sort of thing macro authors should have to think about: the spirit of the unused-parens lint is to prevent needless clutter in code, not to give macro authors extra heartache in the handling of token trees. We propose the expediency of declining to lint unused parentheses in function or method args inside of nested expansions: we believe that this should eliminate the petty, troublesome lint warnings reported in the issue, without forgoing the benefits of the lint in simpler macros. It seemed like too much duplicated code for the `Call` and `MethodCall` match arms to duplicate the nested-macro check in addition to each having their own `for` loop, so this occasioned a slight refactor so that the function and method cases could share code—hopefully the overall intent is at least no less clear to the gentle reader. This is concerning rust-lang#47775.
Configuration menu - View commit details
-
Copy full SHA for 5985b0b - Browse repository at this point
Copy the full SHA 5985b0bView commit details -
Configuration menu - View commit details
-
Copy full SHA for e2de8de - Browse repository at this point
Copy the full SHA e2de8deView commit details -
Use a range to identify SIGSEGV in stack guards
Previously, the `guard::init()` and `guard::current()` functions were returning a `usize` address representing the top of the stack guard, respectively for the main thread and for spawned threads. The `SIGSEGV` handler on `unix` targets checked if a fault was within one page below that address, if so reporting it as a stack overflow. Now `unix` targets report a `Range<usize>` representing the guard memory, so it can cover arbitrary guard sizes. Non-`unix` targets which always return `None` for guards now do so with `Option<!>`, so they don't pay any overhead. For `linux-gnu` in particular, the previous guard upper-bound was `stackaddr + guardsize`, as the protected memory was *inside* the stack. This was a glibc bug, and starting from 2.27 they are moving the guard *past* the end of the stack. However, there's no simple way for us to know where the guard page actually lies, so now we declare it as the whole range of `stackaddr ± guardsize`, and any fault therein will be called a stack overflow. This fixes rust-lang#47863.
Configuration menu - View commit details
-
Copy full SHA for 55b54a9 - Browse repository at this point
Copy the full SHA 55b54a9View commit details
Commits on Feb 1, 2018
-
Turn
type_id
into a constant intrinsicAdd rustc_const_unstable attribute for `any::TypeId::of` Add test for `const fn TypeId::of`
Configuration menu - View commit details
-
Copy full SHA for 196fad0 - Browse repository at this point
Copy the full SHA 196fad0View commit details
Commits on Feb 3, 2018
-
Configuration menu - View commit details
-
Copy full SHA for cc68afb - Browse repository at this point
Copy the full SHA cc68afbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b35d81 - Browse repository at this point
Copy the full SHA 6b35d81View commit details -
Configuration menu - View commit details
-
Copy full SHA for d597da3 - Browse repository at this point
Copy the full SHA d597da3View commit details
Commits on Feb 4, 2018
-
Run the
run-make
tests last, so more tests run on Windows when `mak……e` is unavailable
Configuration menu - View commit details
-
Copy full SHA for 32d5fbe - Browse repository at this point
Copy the full SHA 32d5fbeView commit details -
Configuration menu - View commit details
-
Copy full SHA for f168700 - Browse repository at this point
Copy the full SHA f168700View commit details -
Rollup merge of rust-lang#47862 - GuillaumeGomez:const-evaluation-ice…
…, r=eddyb Fix const evaluation ICE in rustdoc Fixes rust-lang#47860. r? @eddyb
Configuration menu - View commit details
-
Copy full SHA for 6869863 - Browse repository at this point
Copy the full SHA 6869863View commit details -
Rollup merge of rust-lang#47877 - spastorino:lifetime-bounds-in-copy,…
… r=nikomatsakis Do not ignore lifetime bounds in Copy impls cc rust-lang#29149 r? @nikomatsakis
Configuration menu - View commit details
-
Copy full SHA for f3dc756 - Browse repository at this point
Copy the full SHA f3dc756View commit details -
Rollup merge of rust-lang#47896 - zackmdavis:and_the_case_of_the_nece…
…ssary_unnecessary_parens, r=nikomatsakis decline to lint technically-unnecessary parens in function or method arguments inside of nested macros In rust-lang#46980 ("in which the unused-parens lint..." (14982db)), the unused-parens lint was made to check function and method arguments, which it previously did not (seemingly due to oversight rather than willful design). However, in rust-lang#47775 and discussion thereon, user–developers of Geal/nom and graphql-rust/juniper reported that the lint was seemingly erroneously triggering on certain complex macros in those projects. While this doesn't seem like a bug in the lint in the particular strict sense that the expanded code would, in fact, contain unncecessary parentheses, it also doesn't seem like the sort of thing macro authors should have to think about: the spirit of the unused-parens lint is to prevent needless clutter in code, not to give macro authors extra heartache in the handling of token trees. We propose the expediency of declining to lint unused parentheses in function or method args inside of nested expansions: we believe that this should eliminate the petty, troublesome lint warnings reported in the issue, without forgoing the benefits of the lint in simpler macros. It seemed like too much duplicated code for the `Call` and `MethodCall` match arms to duplicate the nested-macro check in addition to each having their own `for` loop, so this occasioned a slight refactor so that the function and method cases could share code—hopefully the overall intent is at least no less clear to the gentle reader. This is concerning rust-lang#47775.
Configuration menu - View commit details
-
Copy full SHA for 349115e - Browse repository at this point
Copy the full SHA 349115eView commit details -
Rollup merge of rust-lang#47912 - cuviper:glibc-stack-guard, r=alexcr…
…ichton Use a range to identify SIGSEGV in stack guards Previously, the `guard::init()` and `guard::current()` functions were returning a `usize` address representing the top of the stack guard, respectively for the main thread and for spawned threads. The `SIGSEGV` handler on `unix` targets checked if a fault was within one page below that address, if so reporting it as a stack overflow. Now `unix` targets report a `Range<usize>` representing the guard memory, so it can cover arbitrary guard sizes. Non-`unix` targets which always return `None` for guards now do so with `Option<!>`, so they don't pay any overhead. For `linux-gnu` in particular, the previous guard upper-bound was `stackaddr + guardsize`, as the protected memory was *inside* the stack. This was a glibc bug, and starting from 2.27 they are moving the guard *past* the end of the stack. However, there's no simple way for us to know where the guard page actually lies, so now we declare it as the whole range of `stackaddr ± guardsize`, and any fault therein will be called a stack overflow. This fixes rust-lang#47863.
Configuration menu - View commit details
-
Copy full SHA for 8b8c6ee - Browse repository at this point
Copy the full SHA 8b8c6eeView commit details -
Rollup merge of rust-lang#47947 - goodmanjonathan:stabilize_match_beg…
…inning_vert, r=petrochenkov Stabilize feature(match_beginning_vert) With this feature stabilized, match expressions can optionally have a `|` at the beginning of each arm. Reference PR: rust-lang/reference#231 Closes rust-lang#44101
Configuration menu - View commit details
-
Copy full SHA for 1439c2a - Browse repository at this point
Copy the full SHA 1439c2aView commit details -
Rollup merge of rust-lang#47958 - frewsxcv:frewsxcv-try-clone, r=aidanhs
Clarify shared file handler behavior of File::try_clone. Fixes rust-lang#46578.
Configuration menu - View commit details
-
Copy full SHA for e58cff2 - Browse repository at this point
Copy the full SHA e58cff2View commit details -
Rollup merge of rust-lang#47978 - eddyb:iu, r=kennytm
ui tests: diff from old (expected) to new (actual) instead of backwards. Previously `actual` was "old" and `expected` was "new" which resulted in `+` before `-`. AFAIK all diff tools put `-` before `+`, which made the previous behavior *very confusing*. r? @nikomatsakis
Configuration menu - View commit details
-
Copy full SHA for 393cd89 - Browse repository at this point
Copy the full SHA 393cd89View commit details -
Rollup merge of rust-lang#47996 - Zoxc:run-make-last, r=Mark-Simulacrum
Run the `run-make` tests last, so more tests run on Windows when `make` is unavailable
Configuration menu - View commit details
-
Copy full SHA for adb5849 - Browse repository at this point
Copy the full SHA adb5849View commit details -
Rollup merge of rust-lang#47999 - jaystrictor:master, r=Mark-Simulacrum
Remove 'the this' in doc comments.
Configuration menu - View commit details
-
Copy full SHA for 66d6c85 - Browse repository at this point
Copy the full SHA 66d6c85View commit details -
Rollup merge of rust-lang#47892 - Badel2:const_type_id_of, r=oli-obk
Turn `type_id` into a constant intrinsic rust-lang#27745 The method `get_type_id` in `Any` is intended to support reflection. It's currently unstable in favor of using an associated constant instead. This PR makes the `type_id` intrinsic a constant intrinsic, the same as `size_of` and `align_of`, allowing `TypeId::of` to be a `const fn`, which will allow using an associated constant in `Any`.
Configuration menu - View commit details
-
Copy full SHA for e17ebdf - Browse repository at this point
Copy the full SHA e17ebdfView commit details