-
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 6 pull requests #103077
Rollup of 6 pull requests #103077
Commits on Oct 6, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 99182dd - Browse repository at this point
Copy the full SHA 99182ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0ad4dd4 - Browse repository at this point
Copy the full SHA 0ad4dd4View commit details
Commits on Oct 7, 2022
-
rustc's startup has several layers, including: - `interface::run_compiler` passes a closure, `f`, to `run_in_thread_pool_with_globals`, which creates a thread pool, sets up session globals, and passes `f` to `create_compiler_and_run`. - `create_compiler_and_run` creates a `Session`, a `Compiler`, sets the source map, and calls `f`. rustdoc is a bit different. - `main_args` calls `main_options` via `run_in_thread_pool_with_globals`, which (again) creates a thread pool (hardcoded to a single thread!) and sets up session globals. - `main_options` has four different paths. - The second one calls `interface::run_compiler`, which redoes the `run_in_thread_pool_with_globals`! This is bad. - The fourth one calls `interface::create_compiler_and_run`, which is reasonable. - The first and third ones don't do anything of note involving the above functions, except for some symbol interning which requires session globals. In other words, rustdoc calls into `rustc_interface` at three different levels. It's a bit confused, and feels like code where functionality has been added by different people at different times without fully understanding how the globally accessible stuff is set up. This commit tidies things up. It removes the `run_in_thread_pool_with_globals` call in `main_args`, and adjust the four paths in `main_options` as follows. - `markdown::test` calls `test::test_main`, which provides its own parallelism and so doesn't need a thread pool. It had one small use of symbol interning, which required session globals, but the commit removes this. - `doctest::run` already calls `interface::run_compiler`, so it doesn't need further adjustment. - `markdown::render` is simple but needs session globals for interning (which can't easily be removed), so it's now wrapped in `create_session_globals_then`. - The fourth path now uses `interface::run_compiler`, which is equivalent to the old `run_in_thread_pool_with_globals` + `create_compiler_and_run` pairing.
Configuration menu - View commit details
-
Copy full SHA for bf135de - Browse repository at this point
Copy the full SHA bf135deView commit details -
Merge
main_options
intomain_args
.There is no longer any need for them to be separate.
Configuration menu - View commit details
-
Copy full SHA for c461f3a - Browse repository at this point
Copy the full SHA c461f3aView commit details -
Inline and remove
scoped_thread
.It has a single call site, and removing it slightly improves the confusing tangle of nested closures present at startup.
Configuration menu - View commit details
-
Copy full SHA for d156a90 - Browse repository at this point
Copy the full SHA d156a90View commit details -
Configuration menu - View commit details
-
Copy full SHA for 226387a - Browse repository at this point
Copy the full SHA 226387aView commit details -
Inline and remove
create_compiler_and_run
.It has a single call site.
Configuration menu - View commit details
-
Copy full SHA for c00937f - Browse repository at this point
Copy the full SHA c00937fView commit details -
Apply
Lrc
later tosess
andcodegen_backend
.This avoids the need for a degenerate `Lrc::get_mut` call.
Configuration menu - View commit details
-
Copy full SHA for 8067016 - Browse repository at this point
Copy the full SHA 8067016View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1f0463a - Browse repository at this point
Copy the full SHA 1f0463aView commit details
Commits on Oct 8, 2022
-
Configuration menu - View commit details
-
Copy full SHA for b4c8a7b - Browse repository at this point
Copy the full SHA b4c8a7bView commit details -
Configuration menu - View commit details
-
Copy full SHA for c320ab9 - Browse repository at this point
Copy the full SHA c320ab9View commit details
Commits on Oct 14, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 76386bd - Browse repository at this point
Copy the full SHA 76386bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for b841848 - Browse repository at this point
Copy the full SHA b841848View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5378677 - Browse repository at this point
Copy the full SHA 5378677View commit details -
Configuration menu - View commit details
-
Copy full SHA for feb4244 - Browse repository at this point
Copy the full SHA feb4244View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0cb217d - Browse repository at this point
Copy the full SHA 0cb217dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c7e836 - Browse repository at this point
Copy the full SHA 8c7e836View commit details -
12 commits in b8f30cb23c4e5f20854a4f683325782b7cff9837..b332991a57c9d055f1864de1eed93e2178d49440 2022-10-10 19:16:06 +0000 to 2022-10-13 22:05:28 +0000 - Differentiate the warning when an alias (built-in or user-defined) shadows an external subcommand (rust-lang/cargo#11170) - chore: Update tests for latest clap (rust-lang/cargo#11235) - feat(publish): Support 'publish.timeout' config behind '-Zpublish-timeout' (rust-lang/cargo#11230) - Add missing edition (rust-lang/cargo#11231) - doc(profiles): add module level doc (rust-lang/cargo#11219) - refactor(publish): Clarify which SourceId is being used (rust-lang/cargo#11216) - Add new SourceKind::SparseRegistry to differentiate sparse registries (rust-lang/cargo#11209) - Fix deadlock when build scripts are waiting for input on stdin (rust-lang/cargo#11205) - refactor: New variant `FeaturesFor::ArtifactDep` (rust-lang/cargo#11184) - Fix rustdoc warning about unclosed HTML tag (rust-lang/cargo#11221) - refactor(tests): Prepare for wait-for-publish test changes (rust-lang/cargo#11210) - Add configuration option for controlling crates.io protocol (rust-lang/cargo#11215)
Configuration menu - View commit details
-
Copy full SHA for 40bb4b7 - Browse repository at this point
Copy the full SHA 40bb4b7View commit details -
Configuration menu - View commit details
-
Copy full SHA for f528414 - Browse repository at this point
Copy the full SHA f528414View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6f0c247 - Browse repository at this point
Copy the full SHA 6f0c247View commit details -
Configuration menu - View commit details
-
Copy full SHA for 062ea9c - Browse repository at this point
Copy the full SHA 062ea9cView commit details
Commits on Oct 15, 2022
-
Rollup merge of rust-lang#101832 - compiler-errors:dyn-star-plus, r=e…
…holk Make `dyn*` casts into a coercion, allow `dyn*` upcasting I know that `dyn*` is likely not going to be a feature exposed to surface Rust, but this makes it slightly more ergonomic to write tests for these types anyways. ... and this was just fun to implement anyways. 1. Make `dyn*` into a coercion instead of a cast 2. Enable `dyn*` upcasting since we basically get it for free 3. Simplify some of the cast checking code since we're using the coercion path now r? `@eholk` but feel free to reassign cc `@nikomatsakis` and `@tmandry` who might care about making `dyn*` casts into a coercion
Configuration menu - View commit details
-
Copy full SHA for 0c5f581 - Browse repository at this point
Copy the full SHA 0c5f581View commit details -
Rollup merge of rust-lang#102769 - nnethercote:rustdoc-startup, r=jyn514
Clean up rustdoc startup Startup is pretty hairy, in both rustdoc and rustc. The first commit here improves the rustdoc situation quite a bit. The remaining commits are smaller but also help. Best reviewed one commit at a time. r? ````@jyn514````
Configuration menu - View commit details
-
Copy full SHA for 3654dc7 - Browse repository at this point
Copy the full SHA 3654dc7View commit details -
Rollup merge of rust-lang#102773 - joboet:apple_parker, r=thomcc
Use semaphores for thread parking on Apple platforms Currently we use a mutex-condvar pair for thread parking on Apple systems. Unfortunately, `pthread_cond_timedwait` uses the real-time clock for measuring time, which causes problems when the system time changes. The parking implementation in this PR uses a semaphore instead, which measures monotonic time by default, avoiding these issues. As a further benefit, this has the potential to improve performance a bit, since `unpark` does not need to wait for a lock to be released. Since the Mach semaphores are poorly documented (I could not find availability or stability guarantees for instance), this uses a [dispatch semaphore](https://developer.apple.com/documentation/dispatch/dispatch_semaphore?language=objc) instead. While it adds a layer of indirection (it uses Mach semaphores internally), the overhead is probably negligible. Tested on macOS 12.5. r? ````@thomcc````
Configuration menu - View commit details
-
Copy full SHA for eb5863a - Browse repository at this point
Copy the full SHA eb5863aView commit details -
Rollup merge of rust-lang#102954 - GuillaumeGomez:cfg-hide-attr-check…
…s, r=Manishearth Add missing checks for `doc(cfg_hide(...))` Part of rust-lang#43781. The `doc(cfg_hide(...))` attribute can only be used at the crate level and takes a list of attributes as argument. r? `@Manishearth`
Configuration menu - View commit details
-
Copy full SHA for 97560c7 - Browse repository at this point
Copy the full SHA 97560c7View commit details -
Rollup merge of rust-lang#103003 - TaKO8Ki:fix-102989, r=compiler-errors
Fix `suggest_floating_point_literal` ICE Fixes rust-lang#102989
Configuration menu - View commit details
-
Copy full SHA for de5e4e8 - Browse repository at this point
Copy the full SHA de5e4e8View commit details -
Rollup merge of rust-lang#103041 - weihanglo:update-cargo, r=ehuss
Update cargo 12 commits in b8f30cb23c4e5f20854a4f683325782b7cff9837..b332991a57c9d055f1864de1eed93e2178d49440 2022-10-10 19:16:06 +0000 to 2022-10-13 22:05:28 +0000 - Differentiate the warning when an alias (built-in or user-defined) shadows an external subcommand (rust-lang/cargo#11170) - chore: Update tests for latest clap (rust-lang/cargo#11235) - feat(publish): Support 'publish.timeout' config behind '-Zpublish-timeout' (rust-lang/cargo#11230) - Add missing edition (rust-lang/cargo#11231) - doc(profiles): add module level doc (rust-lang/cargo#11219) - refactor(publish): Clarify which SourceId is being used (rust-lang/cargo#11216) - Add new SourceKind::SparseRegistry to differentiate sparse registries (rust-lang/cargo#11209) - Fix deadlock when build scripts are waiting for input on stdin (rust-lang/cargo#11205) - refactor: New variant `FeaturesFor::ArtifactDep` (rust-lang/cargo#11184) - Fix rustdoc warning about unclosed HTML tag (rust-lang/cargo#11221) - refactor(tests): Prepare for wait-for-publish test changes (rust-lang/cargo#11210) - Add configuration option for controlling crates.io protocol (rust-lang/cargo#11215)
Configuration menu - View commit details
-
Copy full SHA for 8437d75 - Browse repository at this point
Copy the full SHA 8437d75View commit details