-
Notifications
You must be signed in to change notification settings - Fork 12.1k
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 11 pull requests #82036
Rollup of 11 pull requests #82036
Commits on Feb 4, 2021
-
Increment
self.index
before calling `Iterator::self.a.__iterator_ge……t_unchecked` in `Zip` `TrustedRandomAccess` specialization Otherwise if `Iterator::self.a.__iterator_get_unchecked` panics the index would not have been incremented yet and another call to `Iterator::next` would read from the same index again, which is not allowed according to the API contract of `TrustedRandomAccess` for `!Clone`. Fixes rust-lang#81740
Configuration menu - View commit details
-
Copy full SHA for 86a4b27 - Browse repository at this point
Copy the full SHA 86a4b27View commit details
Commits on Feb 5, 2021
-
Don't release Miri if its tests only failed on Windows
hyd-dev committedFeb 5, 2021 Configuration menu - View commit details
-
Copy full SHA for f82315a - Browse repository at this point
Copy the full SHA f82315aView commit details
Commits on Feb 6, 2021
-
Extend the comment of
check_toolstate()
to clarify that the tool wo……n't be shipped on all targets
hyd-dev committedFeb 6, 2021 Configuration menu - View commit details
-
Copy full SHA for f87afe5 - Browse repository at this point
Copy the full SHA f87afe5View commit details
Commits on Feb 7, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 55ca27f - Browse repository at this point
Copy the full SHA 55ca27fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 406fd3a - Browse repository at this point
Copy the full SHA 406fd3aView commit details
Commits on Feb 8, 2021
-
Tri Vo committed
Feb 8, 2021 Configuration menu - View commit details
-
Copy full SHA for c7d9bff - Browse repository at this point
Copy the full SHA c7d9bffView commit details -
Tri Vo committed
Feb 8, 2021 Configuration menu - View commit details
-
Copy full SHA for 9c34c14 - Browse repository at this point
Copy the full SHA 9c34c14View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2200cf1 - Browse repository at this point
Copy the full SHA 2200cf1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 44abad5 - Browse repository at this point
Copy the full SHA 44abad5View commit details
Commits on Feb 9, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 1d9ac3c - Browse repository at this point
Copy the full SHA 1d9ac3cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4fc181d - Browse repository at this point
Copy the full SHA 4fc181dView commit details
Commits on Feb 10, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 2c4337a - Browse repository at this point
Copy the full SHA 2c4337aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0422745 - Browse repository at this point
Copy the full SHA 0422745View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0ffa2da - Browse repository at this point
Copy the full SHA 0ffa2daView commit details -
Allow casting mut array ref to mut ptr
We now allow two new casts: - mut array reference to mut ptr. Example: let mut x: [usize; 2] = [0, 0]; let p = &mut x as *mut usize; We allow casting const array references to const pointers so not allowing mut references to mut pointers was inconsistent. - mut array reference to const ptr. Example: let mut x: [usize; 2] = [0, 0]; let p = &mut x as *const usize; This was similarly inconsistent as we allow casting mut references to const pointers. Existing test 'vector-cast-weirdness' updated to test both cases. Fixes rust-lang#24151
Configuration menu - View commit details
-
Copy full SHA for d64b749 - Browse repository at this point
Copy the full SHA d64b749View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ca96ed - Browse repository at this point
Copy the full SHA 7ca96edView commit details
Commits on Feb 11, 2021
-
Ensures
make
tests run under /bin/dash, like CI, and fixes a MakefileUpdates `tools.mk` to explicitly require `SHELL := /bin/dash`, since CI uses `dash` but other environments (including developer local machines) may default to `bash`. Replaces bash-specific shell command in one Makefile with a dash-compatible alternative, and re-enables the affected Makefile test. Removes apparently redundant definition of `UNAME`.
Configuration menu - View commit details
-
Copy full SHA for 01f5a2a - Browse repository at this point
Copy the full SHA 01f5a2aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 625803d - Browse repository at this point
Copy the full SHA 625803dView commit details -
Configuration menu - View commit details
-
Copy full SHA for b211acf - Browse repository at this point
Copy the full SHA b211acfView commit details -
Fix injected errors when running doctests on a crate named after a ke…
…yword Unfortunately, this can't currently be tested. The problem is that we need the file to be compiled first to then be used as dependency, which cannot be done currently unfortunately in the rustdoc test suites. Example: ```rust // name this file "foo.rs" /// ``` /// let x = foo::foo(); /// ``` pub fn foo() {} ``` If you run `rustdoc --test foo.rs`, you'll get: ``` running 1 test test foo.rs - foo (line 1) ... FAILED failures: ---- foo.rs - foo (line 1) stdout ---- error[E0463]: can't find crate for `foo` --> foo.rs:0:1 | 2 | extern crate foo; | ^^^^^^^^^^^^^^^^^ can't find crate ``` If a test were possible, it would look something like ````rust #![crate_name = "mod"] #![crate_type = "lib"] //! ``` //! // NOTE: requires that the literal string 'mod' appears in the doctest for //! // the bug to appear //! assert_eq!(1, 1); //! ``` ````
Configuration menu - View commit details
-
Copy full SHA for 02ffe9e - Browse repository at this point
Copy the full SHA 02ffe9eView commit details
Commits on Feb 12, 2021
-
Configuration menu - View commit details
-
Copy full SHA for fda71d6 - Browse repository at this point
Copy the full SHA fda71d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for f546633 - Browse repository at this point
Copy the full SHA f546633View commit details -
Use
Iterator::all
instead of open-coding itShorter code and by initializing to the final value directly, the variable doesn't need to be mut.
Configuration menu - View commit details
-
Copy full SHA for fde59a8 - Browse repository at this point
Copy the full SHA fde59a8View commit details -
Rollup merge of rust-lang#79775 - jyn514:doctest, r=GuillaumeGomez
Fix injected errors when running doctests on a crate named after a keyword Closes rust-lang#79771
Configuration menu - View commit details
-
Copy full SHA for c2ac7cf - Browse repository at this point
Copy the full SHA c2ac7cfView commit details -
Rollup merge of rust-lang#81479 - osa1:issue24151, r=lcnr
Allow casting mut array ref to mut ptr Allow casting mut array ref to mut ptr We now allow two new casts: - mut array reference to mut ptr. Example: let mut x: [usize; 2] = [0, 0]; let p = &mut x as *mut usize; We allow casting const array references to const pointers so not allowing mut references to mut pointers was inconsistent. - mut array reference to const ptr. Example: let mut x: [usize; 2] = [0, 0]; let p = &mut x as *const usize; This was similarly inconsistent as we allow casting mut references to const pointers. Existing test 'vector-cast-weirdness' updated to test both cases. Fixes rust-lang#24151
Configuration menu - View commit details
-
Copy full SHA for 7946b80 - Browse repository at this point
Copy the full SHA 7946b80View commit details -
Rollup merge of rust-lang#81506 - vo4:hwasan, r=nagisa
HWAddressSanitizer support # Motivation Compared to regular ASan, HWASan has a [smaller overhead](https://source.android.com/devices/tech/debug/hwasan). The difference in practice is that HWASan'ed code is more usable, e.g. Android device compiled with HWASan can be used as a daily driver. # Example ``` fn main() { let xs = vec![0, 1, 2, 3]; let _y = unsafe { *xs.as_ptr().offset(4) }; } ``` ``` ==223==ERROR: HWAddressSanitizer: tag-mismatch on address 0xefdeffff0050 at pc 0xaaaad00b3468 READ of size 4 at 0xefdeffff0050 tags: e5/00 (ptr/mem) in thread T0 #0 0xaaaad00b3464 (/root/main+0x53464) rust-lang#1 0xaaaad00b39b4 (/root/main+0x539b4) rust-lang#2 0xaaaad00b3dd0 (/root/main+0x53dd0) rust-lang#3 0xaaaad00b61dc (/root/main+0x561dc) rust-lang#4 0xaaaad00c0574 (/root/main+0x60574) rust-lang#5 0xaaaad00b6290 (/root/main+0x56290) rust-lang#6 0xaaaad00b6170 (/root/main+0x56170) rust-lang#7 0xaaaad00b3578 (/root/main+0x53578) rust-lang#8 0xffff81345e70 (/lib64/libc.so.6+0x20e70) rust-lang#9 0xaaaad0096310 (/root/main+0x36310) [0xefdeffff0040,0xefdeffff0060) is a small allocated heap chunk; size: 32 offset: 16 0xefdeffff0050 is located 0 bytes to the right of 16-byte region [0xefdeffff0040,0xefdeffff0050) allocated here: #0 0xaaaad009bcdc (/root/main+0x3bcdc) rust-lang#1 0xaaaad00b1eb0 (/root/main+0x51eb0) rust-lang#2 0xaaaad00b20d4 (/root/main+0x520d4) rust-lang#3 0xaaaad00b2800 (/root/main+0x52800) rust-lang#4 0xaaaad00b1cf4 (/root/main+0x51cf4) rust-lang#5 0xaaaad00b33d4 (/root/main+0x533d4) rust-lang#6 0xaaaad00b39b4 (/root/main+0x539b4) rust-lang#7 0xaaaad00b61dc (/root/main+0x561dc) rust-lang#8 0xaaaad00b3578 (/root/main+0x53578) rust-lang#9 0xaaaad0096310 (/root/main+0x36310) Thread: T0 0xeffe00002000 stack: [0xffffc0590000,0xffffc0d90000) sz: 8388608 tls: [0xffff81521020,0xffff815217d0) Memory tags around the buggy address (one tag corresponds to 16 bytes): 0xfefcefffef80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xfefcefffef90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xfefcefffefa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xfefcefffefb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xfefcefffefc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xfefcefffefd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xfefcefffefe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xfefcefffeff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 =>0xfefceffff000: a2 a2 05 00 e5 [00] 00 00 00 00 00 00 00 00 00 00 0xfefceffff010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xfefceffff020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xfefceffff030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xfefceffff040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xfefceffff050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xfefceffff060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xfefceffff070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xfefceffff080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Tags for short granules around the buggy address (one tag corresponds to 16 bytes): 0xfefcefffeff0: .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. =>0xfefceffff000: .. .. c5 .. .. [..] .. .. .. .. .. .. .. .. .. .. 0xfefceffff010: .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. See https://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html#short-granules for a description of short granule tags Registers where the failure occurred (pc 0xaaaad00b3468): x0 e500efdeffff0050 x1 0000000000000004 x2 0000ffffc0d8f5a0 x3 0200efff00000000 x4 0000ffffc0d8f4c0 x5 000000000000004f x6 00000ffffc0d8f36 x7 0000efff00000000 x8 e500efdeffff0050 x9 0200efff00000000 x10 0000000000000000 x11 0200efff00000000 x12 0200effe000006b0 x13 0200effe000006b0 x14 0000000000000008 x15 00000000c00000cf x16 0000aaaad00a0afc x17 0000000000000003 x18 0000000000000001 x19 0000ffffc0d8f718 x20 ba00ffffc0d8f7a0 x21 0000aaaad00962e0 x22 0000000000000000 x23 0000000000000000 x24 0000000000000000 x25 0000000000000000 x26 0000000000000000 x27 0000000000000000 x28 0000000000000000 x29 0000ffffc0d8f650 x30 0000aaaad00b3468 ``` # Comments/Caveats * HWASan is only supported on arm64. * I'm not sure if I should add a feature gate or piggyback on the existing one for sanitizers. * HWASan requires `-C target-feature=+tagged-globals`. That flag should probably be set transparently to the user. Not sure how to go about that. # TODO * Need more tests. * Update documentation. * Fix symbolization. * Integrate with CI
Configuration menu - View commit details
-
Copy full SHA for a1b0549 - Browse repository at this point
Copy the full SHA a1b0549View commit details -
Rollup merge of rust-lang#81666 - hyd-dev:miri-windows-test-fail, r=M…
…ark-Simulacrum Don't release Miri if its tests only failed on Windows Extends rust-lang#66053 to Windows, so the released Miri won't be broken if its tests only fail on Windows. Relevant Zulip thread: https://rust-lang.zulipchat.com/#narrow/stream/269128-miri/topic/Miri.20is.20still.20available.20in.20rustup.20today.3F
Configuration menu - View commit details
-
Copy full SHA for abafbf3 - Browse repository at this point
Copy the full SHA abafbf3View commit details -
Rollup merge of rust-lang#81734 - richkadel:fixfordash, r=pnkfelix
Ensures `make` tests run under /bin/dash (if available), like CI, and fixes a Makefile Note: This cherrypicks rust-lang#81688 (`@pnkfelix)` Updates `tools.mk` to explicitly require `SHELL := /bin/dash`, since CI uses `dash` but other environments (including developer local machines) may default to `bash`. Replaces bash-specific shell command in one Makefile with a dash-compatible alternative, and re-enables the affected Makefile test. Removes apparently redundant definition of `UNAME`. Also see: [zulip discussion thread](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/how.20to.20run.2Fbless.20src.2Ftest.2Frun-make-fulldeps.2Fcoverage.20.3F) r? `@pnkfelix` FYI: `@wesleywiser` `@tmandry`
Configuration menu - View commit details
-
Copy full SHA for b92d132 - Browse repository at this point
Copy the full SHA b92d132View commit details -
Rollup merge of rust-lang#81741 - sdroege:zip-trusted-random-access-s…
…pecialization-panic-safety, r=KodrAus Increment `self.index` before calling `Iterator::self.a.__iterator_ge… …`t_unchecked` in `Zip` `TrustedRandomAccess` specialization Otherwise if `Iterator::self.a.__iterator_get_unchecked` panics the index would not have been incremented yet and another call to `Iterator::next` would read from the same index again, which is not allowed according to the API contract of `TrustedRandomAccess` for `!Clone`. Fixes rust-lang#81740
Configuration menu - View commit details
-
Copy full SHA for a79a1da - Browse repository at this point
Copy the full SHA a79a1daView commit details -
Rollup merge of rust-lang#81850 - the8472:env-rwlock, r=m-ou-se
use RWlock when accessing os::env Multiple threads modifying the current process environment is fairly uncommon. Optimize for the more common read case. r? ```@m-ou-se```
Configuration menu - View commit details
-
Copy full SHA for 8683bff - Browse repository at this point
Copy the full SHA 8683bffView commit details -
Rollup merge of rust-lang#81911 - BoxyUwU:constgenericgaticefix, r=ni…
…komatsakis GAT/const_generics: Allow with_opt_const_param to return GAT param def_id Fixes rust-lang#75415 Fixes rust-lang#79666 cc ``@lcnr`` I've absolutely no idea who to r? for this...
Configuration menu - View commit details
-
Copy full SHA for 172adb4 - Browse repository at this point
Copy the full SHA 172adb4View commit details -
Rollup merge of rust-lang#82022 - LingMan:single_char, r=jonas-schievink
Push a `char` instead of a `str` with len one into a String `@rustbot` modify labels +C-cleanup +T-compiler
Configuration menu - View commit details
-
Copy full SHA for a88ae80 - Browse repository at this point
Copy the full SHA a88ae80View commit details -
Rollup merge of rust-lang#82023 - MikailBag:boxed-docs-unallow, r=jyn514
Remove unnecessary lint allow attrs on example It seems they are not needed anymore.
Configuration menu - View commit details
-
Copy full SHA for 3db4afd - Browse repository at this point
Copy the full SHA 3db4afdView commit details -
Rollup merge of rust-lang#82030 - LingMan:init_directly, r=varkor
Use `Iterator::all` instead of open-coding it Shorter code and by initializing to the final value directly, the variable doesn't need to be mut.
Configuration menu - View commit details
-
Copy full SHA for 3c50257 - Browse repository at this point
Copy the full SHA 3c50257View commit details