-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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 9 pull requests #98605
Rollup of 9 pull requests #98605
Commits on Jun 8, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 6ef2033 - Browse repository at this point
Copy the full SHA 6ef2033View commit details -
Configuration menu - View commit details
-
Copy full SHA for 77fd0cc - Browse repository at this point
Copy the full SHA 77fd0ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for bc5afd9 - Browse repository at this point
Copy the full SHA bc5afd9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1750a2f - Browse repository at this point
Copy the full SHA 1750a2fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9e6c044 - Browse repository at this point
Copy the full SHA 9e6c044View commit details -
Configuration menu - View commit details
-
Copy full SHA for 14d155a - Browse repository at this point
Copy the full SHA 14d155aView commit details
Commits on Jun 9, 2022
-
Configuration menu - View commit details
-
Copy full SHA for ce774e3 - Browse repository at this point
Copy the full SHA ce774e3View commit details
Commits on Jun 19, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 4c4152b - Browse repository at this point
Copy the full SHA 4c4152bView commit details -
Configuration menu - View commit details
-
Copy full SHA for e251247 - Browse repository at this point
Copy the full SHA e251247View commit details -
Configuration menu - View commit details
-
Copy full SHA for ffb593b - Browse repository at this point
Copy the full SHA ffb593bView commit details
Commits on Jun 21, 2022
-
Configuration menu - View commit details
-
Copy full SHA for a0eba66 - Browse repository at this point
Copy the full SHA a0eba66View commit details
Commits on Jun 22, 2022
-
Configuration menu - View commit details
-
Copy full SHA for c416307 - Browse repository at this point
Copy the full SHA c416307View commit details
Commits on Jun 26, 2022
-
Configuration menu - View commit details
-
Copy full SHA for f954f7b - Browse repository at this point
Copy the full SHA f954f7bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c88602 - Browse repository at this point
Copy the full SHA 0c88602View commit details
Commits on Jun 27, 2022
-
lint: fix condition in diagnostic lints
Unfortunately, the diagnostic lints are very broken and trigger much more often than they should. Correct the conditional which checks if the function call being made is to a diagnostic function so that it returns in every intended case. Signed-off-by: David Wood <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 871c879 - Browse repository at this point
Copy the full SHA 871c879View commit details -
various: add
rustc_lint_diagnostics
to diag fnsThe `rustc_lint_diagnostics` attribute is used by the diagnostic translation/struct migration lints to identify calls where non-translatable diagnostics or diagnostics outwith impls are being created. Any function used in creating a diagnostic should be annotated with this attribute so this commit adds the attribute to many more functions. Signed-off-by: David Wood <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ae61224 - Browse repository at this point
Copy the full SHA ae61224View commit details -
privacy: port "field is private" diag
Signed-off-by: David Wood <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for be9ebfd - Browse repository at this point
Copy the full SHA be9ebfdView commit details -
privacy: port "item is private" diag
Signed-off-by: David Wood <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cb90a4f - Browse repository at this point
Copy the full SHA cb90a4fView commit details -
privacy: port unnamed "item is private" diag
Signed-off-by: David Wood <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0557d02 - Browse repository at this point
Copy the full SHA 0557d02View commit details -
privacy: port "in public interface" diag
Signed-off-by: David Wood <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 74f3a96 - Browse repository at this point
Copy the full SHA 74f3a96View commit details -
privacy: deny diagnostic migration lints
Signed-off-by: David Wood <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 15d61d7 - Browse repository at this point
Copy the full SHA 15d61d7View commit details -
Configuration menu - View commit details
-
Copy full SHA for c24f063 - Browse repository at this point
Copy the full SHA c24f063View commit details -
Implement
Send
andSync
forThinBox<T>
Just like `Box<T>`, `ThinBox<T>` owns its data on the heap, so it should implement `Send` and `Sync` when `T` does.
Configuration menu - View commit details
-
Copy full SHA for 6400736 - Browse repository at this point
Copy the full SHA 6400736View commit details -
Remove unstable CStr/CString change from 1.62 release note
(Discovered in rust-lang#98571 (comment)) The change to move CStr/CString to core/alloc is currently behind feature flags as stated in rust-lang#98314
Configuration menu - View commit details
-
Copy full SHA for f5a38d1 - Browse repository at this point
Copy the full SHA f5a38d1View commit details
Commits on Jun 28, 2022
-
Rollup merge of rust-lang#97235 - nbdd0121:unwind, r=Amanieu
Fix FFI-unwind unsoundness with mixed panic mode UB maybe introduced when an FFI exception happens in a `C-unwind` foreign function and it propagates through a crate compiled with `-C panic=unwind` into a crate compiled with `-C panic=abort` (rust-lang#96926). To prevent this unsoundness from happening, we will disallow a crate compiled with `-C panic=unwind` to be linked into `panic-abort` *if* it contains a call to `C-unwind` foreign function or function pointer. If no such call exists, then we continue to allow such mixed panic mode linking because it's sound (and stable). In fact we still need the ability to do mixed panic mode linking for std, because we only compile std once with `-C panic=unwind` and link it regardless panic strategy. For libraries that wish to remain compile-once-and-linkable-to-both-panic-runtimes, a `ffi_unwind_calls` lint is added (gated under `c_unwind` feature gate) to flag any FFI unwind calls that will cause the linkable panic runtime be restricted. In summary: ```rust #![warn(ffi_unwind_calls)] mod foo { #[no_mangle] pub extern "C-unwind" fn foo() {} } extern "C-unwind" { fn foo(); } fn main() { // Call to Rust function is fine regardless ABI. foo::foo(); // Call to foreign function, will cause the crate to be unlinkable to panic-abort if compiled with `-Cpanic=unwind`. unsafe { foo(); } //~^ WARNING call to foreign function with FFI-unwind ABI let ptr: extern "C-unwind" fn() = foo::foo; // Call to function pointer, will cause the crate to be unlinkable to panic-abort if compiled with `-Cpanic=unwind`. ptr(); //~^ WARNING call to function pointer with FFI-unwind ABI } ``` Fix rust-lang#96926 `@rustbot` label: T-compiler F-c_unwind
Configuration menu - View commit details
-
Copy full SHA for 87a3821 - Browse repository at this point
Copy the full SHA 87a3821View commit details -
Rollup merge of rust-lang#97346 - JohnTitor:remove-back-compat-hacks,…
… r=oli-obk Remove a back-compat hack on lazy TAIT This PR's motivation is here: rust-lang#72614 (comment) ~~But removing a hack doesn't seem to reject the code on the issue, there're some more hacks?~~ r? `@oli-obk`
Configuration menu - View commit details
-
Copy full SHA for 86eb0e5 - Browse repository at this point
Copy the full SHA 86eb0e5View commit details -
Rollup merge of rust-lang#98261 - WaffleLapkin:attempt_to_remove_max_…
…suggestion_highlight_lines, r=flip1995 Remove `MAX_SUGGESTION_HIGHLIGHT_LINES` After rust-lang#97798 the `MAX_SUGGESTION_HIGHLIGHT_LINES` constant doesn't really make sense since we always show full suggestions. This PR removes last usages of the constant and the constant itself. r? `@flip1995` (this mostly does changes in clippy)
Configuration menu - View commit details
-
Copy full SHA for da898bf - Browse repository at this point
Copy the full SHA da898bfView commit details -
Rollup merge of rust-lang#98337 - c410-f3r:assert-compiler, r=oli-obk
[RFC 2011] Optimize non-consuming operators Tracking issue: rust-lang#44838 Fifth step of rust-lang#96496 The most non-invasive approach that will probably have very little to no performance impact. ## Current behaviour Captures are handled "on-the-fly", i.e., they are performed in the same place expressions are located. ```rust // `let a = 1; let b = 2; assert!(a > 1 && b < 100);` if !( { ***try capture `a` and then return `a`*** } > 1 && { ***try capture `b` and then return `b`*** } < 100 ) { panic!( ... ); } ``` As such, some overhead is likely to occur (Specially with very large chains of conditions). ## New behaviour for non-consuming operators When an operator is known to not take `self`, then it is possible to capture variables **AFTER** the condition. ```rust // `let a = 1; let b = 2; assert!(a > 1 && b < 100);` if !( a > 1 && b < 100 ) { { ***try capture `a`*** } { ***try capture `b`*** } panic!( ... ); } ``` So the possible impact on the runtime execution time will be diminished. r? ```@oli-obk```
Configuration menu - View commit details
-
Copy full SHA for 9ed32b1 - Browse repository at this point
Copy the full SHA 9ed32b1View commit details -
Rollup merge of rust-lang#98384 - rdzhaafar:fix-macos-rss-reporting, …
…r=davidtwco,michaelwoerister Fix RSS reporting on macOS > NOTE: This is a duplicate of rust-lang#98164, which I closed because I borked my rustc fork Currently, `rustc_data_structures::profiling::get_resident_set_size()` always returns `None` on macOS. This is because macOS does not implement procfs used in the unix version of the function: ```rust ... else if #[cfg(unix)] { pub fn get_resident_set_size() -> Option<usize> { let field = 1; let contents = fs::read("/proc/self/statm").ok()?; let contents = String::from_utf8(contents).ok()?; let s = contents.split_whitespace().nth(field)?; let npages = s.parse::<usize>().ok()?; Some(npages * 4096) } ... ``` The proposed solution uses libproc, and more specifically `proc_pidinfo`, which has been available on macOS since 10.5 if the function signature inside libproc.h is to be believed: ```c int proc_pidinfo(int pid, int flavor, uint64_t arg, void *buffer, int buffersize) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); ```
Configuration menu - View commit details
-
Copy full SHA for cfda49b - Browse repository at this point
Copy the full SHA cfda49bView commit details -
Rollup merge of rust-lang#98420 - davidtwco:translation-lint-fixes-an…
…d-more-migration, r=compiler-errors translation: lint fix + more migration - Unfortunately, the diagnostic lints are very broken and trigger much more often than they should. This PR corrects the conditional which checks if the function call being made is to a diagnostic function so that it returns in every intended case. - The `rustc_lint_diagnostics` attribute is used by the diagnostic translation/struct migration lints to identify calls where non-translatable diagnostics or diagnostics outwith impls are being created. Any function used in creating a diagnostic should be annotated with this attribute so this PR adds the attribute to many more functions. - Port the diagnostics from the `rustc_privacy` crate and enable the lints for that crate. r? `@compiler-errors`
Configuration menu - View commit details
-
Copy full SHA for a0a5cff - Browse repository at this point
Copy the full SHA a0a5cffView commit details -
Rollup merge of rust-lang#98555 - mkroening:hermit-lock-init, r=m-ou-se
Hermit: Fix initializing lazy locks Closes hermit-os/hermit-rs#322. The initialization function of hermit's `Condvar` is not called since rust-lang#97647 and was erroneously removed in rust-lang#97879. r? `@m-ou-se` CC: `@stlankes`
Configuration menu - View commit details
-
Copy full SHA for 6de107a - Browse repository at this point
Copy the full SHA 6de107aView commit details -
Rollup merge of rust-lang#98595 - cuviper:send-sync-thinbox, r=m-ou-se
Implement `Send` and `Sync` for `ThinBox<T>` Just like `Box<T>`, `ThinBox<T>` owns its data on the heap, so it should implement `Send` and `Sync` when `T` does. This extends tracking issue rust-lang#92791.
Configuration menu - View commit details
-
Copy full SHA for 674c1fc - Browse repository at this point
Copy the full SHA 674c1fcView commit details -
Rollup merge of rust-lang#98597 - wwylele:patch-1, r=Mark-Simulacrum
Remove unstable CStr/CString change from 1.62 release note (Discovered in rust-lang#98571 (comment)) The change to move CStr/CString to core/alloc is currently behind feature flags as stated in rust-lang#98314
Configuration menu - View commit details
-
Copy full SHA for 18c086f - Browse repository at this point
Copy the full SHA 18c086fView commit details