-
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 8 pull requests #86920
Rollup of 8 pull requests #86920
Commits on Jun 25, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 9f57996 - Browse repository at this point
Copy the full SHA 9f57996View commit details
Commits on Jul 3, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 8c2a37a - Browse repository at this point
Copy the full SHA 8c2a37aView commit details
Commits on Jul 5, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 3d20b2a - Browse repository at this point
Copy the full SHA 3d20b2aView commit details
Commits on Jul 6, 2021
-
Replace deprecated compare_and_swap by compare_exchange_weak in core:…
…:sync::atomic::fence example
Configuration menu - View commit details
-
Copy full SHA for a87fb18 - Browse repository at this point
Copy the full SHA a87fb18View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d61e6e - Browse repository at this point
Copy the full SHA 0d61e6eView commit details -
migrate cpu-usage-over-time.py to python 3
The only change here is a fix for `sys.platform` on Linux. Python 3.3 changed the API to return "linux" instead of "linux2"/"linux3", so this commit uses `.startswith("python")` to make the code work on Python 3 without breaking Python 2.
Configuration menu - View commit details
-
Copy full SHA for 0b3653b - Browse repository at this point
Copy the full SHA 0b3653bView commit details -
Configuration menu - View commit details
-
Copy full SHA for bbfb857 - Browse repository at this point
Copy the full SHA bbfb857View commit details -
Configuration menu - View commit details
-
Copy full SHA for df71a99 - Browse repository at this point
Copy the full SHA df71a99View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1d49658 - Browse repository at this point
Copy the full SHA 1d49658View commit details -
Configuration menu - View commit details
-
Copy full SHA for ecca9a8 - Browse repository at this point
Copy the full SHA ecca9a8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c87772 - Browse repository at this point
Copy the full SHA 6c87772View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a45bb9 - Browse repository at this point
Copy the full SHA 3a45bb9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e5b78f - Browse repository at this point
Copy the full SHA 4e5b78fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a902e25 - Browse repository at this point
Copy the full SHA a902e25View commit details -
Configuration menu - View commit details
-
Copy full SHA for 81c11a2 - Browse repository at this point
Copy the full SHA 81c11a2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 941eb2a - Browse repository at this point
Copy the full SHA 941eb2aView commit details -
Configuration menu - View commit details
-
Copy full SHA for d4e384b - Browse repository at this point
Copy the full SHA d4e384bView commit details -
rewrote documentation for thread::yield_now()
The old documentation suggested the use of yield_now for repeated polling instead of discouraging it; it also made the false claim that channels are implementing using yield_now. (They are not, except for a corner case).
Configuration menu - View commit details
-
Copy full SHA for fb464a3 - Browse repository at this point
Copy the full SHA fb464a3View commit details
Commits on Jul 7, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 1b4704d - Browse repository at this point
Copy the full SHA 1b4704dView commit details -
Rollup merge of rust-lang#80918 - yoshuawuyts:int-log2, r=m-ou-se
Add Integer::log variants _This is another attempt at landing rust-lang#70835, which was approved by the libs team but failed on Android tests through Bors. The text copied here is from the original issue. The only change made so far is the addition of non-`checked_` variants of the log methods._ _Tracking issue: #70887_ --- This implements `{log,log2,log10}` methods for all integer types. The implementation was provided by `@substack` for use in the stdlib. _Note: I'm not big on math, so this PR is a best effort written with limited knowledge. It's likely I'll be getting things wrong, but happy to learn and correct. Please bare with me._ ## Motivation Calculating the logarithm of a number is a generally useful operation. Currently the stdlib only provides implementations for floats, which means that if we want to calculate the logarithm for an integer we have to cast it to a float and then back to an int. > would be nice if there was an integer log2 instead of having to either use the f32 version or leading_zeros() which i have to verify the results of every time to be sure _— [`@substack,` 2020-03-08](https://twitter.com/substack/status/1236445105197727744)_ At higher numbers converting from an integer to a float we also risk overflows. This means that Rust currently only provides log operations for a limited set of integers. The process of doing log operations by converting between floats and integers is also prone to rounding errors. In the following example we're trying to calculate `base10` for an integer. We might try and calculate the `base2` for the values, and attempt [a base swap](https://www.rapidtables.com/math/algebra/Logarithm.html#log-rules) to arrive at `base10`. However because we're performing intermediate rounding we arrive at the wrong result: ```rust // log10(900) = ~2.95 = 2 dbg!(900f32.log10() as u64); // log base change rule: logb(x) = logc(x) / logc(b) // log2(900) / log2(10) = 9/3 = 3 dbg!((900f32.log2() as u64) / (10f32.log2() as u64)); ``` _[playground](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=6bd6c68b3539e400f9ca4fdc6fc2eed0)_ This is somewhat nuanced as a lot of the time it'll work well, but in real world code this could lead to some hard to track bugs. By providing correct log implementations directly on integers we can help prevent errors around this. ## Implementation notes I checked whether LLVM intrinsics existed before implementing this, and none exist yet. ~~Also I couldn't really find a better way to write the `ilog` function. One option would be to make it a private method on the number, but I didn't see any precedent for that. I also didn't know where to best place the tests, so I added them to the bottom of the file. Even though they might seem like quite a lot they take no time to execute.~~ ## References - [Log rules](https://www.rapidtables.com/math/algebra/Logarithm.html#log-rules) - [Rounding error playground](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=6bd6c68b3539e400f9ca4fdc6fc2eed0) - [substack's tweet asking about integer log2 in the stdlib](https://twitter.com/substack/status/1236445105197727744) - [Integer Logarithm, A. Jaffer 2008](https://people.csail.mit.edu/jaffer/III/ilog.pdf)
Configuration menu - View commit details
-
Copy full SHA for 9bbc470 - Browse repository at this point
Copy the full SHA 9bbc470View commit details -
Rollup merge of rust-lang#86717 - rylev:rename, r=nikomatsakis
Rename some Rust 2021 lints to better names Based on conversation in rust-lang#85894. Rename a bunch of Rust 2021 related lints: Lints that are officially renamed because they are already in beta or stable: * `disjoint_capture_migration` => `rust_2021_incompatible_closure_captures` * `or_patterns_back_compat` => `rust_2021_incompatible_or_patterns` * `non_fmt_panic` => `non_fmt_panics` Lints that are renamed but don't require any back -compat work since they aren't yet in stable: * `future_prelude_collision` => `rust_2021_prelude_collisions` * `reserved_prefix` => `rust_2021_token_prefixes` Lints that have been discussed but that I did not rename: * ~`non_fmt_panic` and `bare_trait_object`: is making this plural worth the headache we might cause users?~ * `array_into_iter`: I'm unsure of a good name and whether bothering users with a name change is worth it. r? `@nikomatsakis`
Configuration menu - View commit details
-
Copy full SHA for 7e95290 - Browse repository at this point
Copy the full SHA 7e95290View commit details -
Rollup merge of rust-lang#86819 - GuillaumeGomez:cleanup-rustdoc-ids,…
… r=jyn514 Clean up rustdoc IDs I cherry-picked the commit from rust-lang#86178. It adds missing rustdoc IDs (for the HTML) and remove unused ones. cc `@camelid` r? `@jyn514`
Configuration menu - View commit details
-
Copy full SHA for cbb40cd - Browse repository at this point
Copy the full SHA cbb40cdView commit details -
Rollup merge of rust-lang#86880 - m-ou-se:test-manuallydrop-clone-fro…
…m, r=Mark-Simulacrum Test ManuallyDrop::clone_from. See rust-lang#86288
Configuration menu - View commit details
-
Copy full SHA for c630b6b - Browse repository at this point
Copy the full SHA c630b6bView commit details -
Rollup merge of rust-lang#86906 - juniorbassani:update-sync-docs, r=y…
…aahc Replace deprecated compare_and_swap and fix typo in core::sync::atomic::{fence, compiler_fence} docs
Configuration menu - View commit details
-
Copy full SHA for fe3d6a7 - Browse repository at this point
Copy the full SHA fe3d6a7View commit details -
Rollup merge of rust-lang#86907 - pietroalbini:ci-cpu-stats-python3, …
…r=Mark-Simulacrum Migrate `cpu-usage-over-time.py` to Python 3 The only change here is a fix for `sys.platform` on Linux. Python 3.3 changed the API to return `"linux"` instead of `"linux2"`/`"linux3"`, so this PR uses `.startswith("linux")` to make the code work on Python 3 without breaking Python 2.
Configuration menu - View commit details
-
Copy full SHA for 7be29c1 - Browse repository at this point
Copy the full SHA 7be29c1View commit details -
Rollup merge of rust-lang#86916 - godmar:@godmar/thread-yield-documen…
…tation-fix, r=joshtriplett rewrote documentation for thread::yield_now() The old documentation suggested the use of yield_now for repeated polling instead of discouraging it; it also made the false claim that channels are implemented using yield_now. (They are not, except for a corner case).
Configuration menu - View commit details
-
Copy full SHA for 9aee3c2 - Browse repository at this point
Copy the full SHA 9aee3c2View commit details -
Rollup merge of rust-lang#86919 - ehuss:update-books, r=ehuss
Update books ## nomicon 8 commits in b9ca313e687c991223e23e5520529815dc281205..7a13537f96af4b9b8e3ea296d6e5c3c7ab72ce9f 2021-06-22 12:02:20 -0400 to 2021-07-05 23:34:47 -0400 - Apply review comments - Fix some style issues - Move the list of coercions to the reference - Add an example that shows the null-pointer opt does not happen - Remove casting list from the nomicon (rust-lang/nomicon#287) - Audit `ignore` annotations (rust-lang/nomicon#288) - rename typo "lifetime" to "reference" (rust-lang/nomicon#286) - Add an incomplete warning to the top page (rust-lang/nomicon#274) ## reference 7 commits in d9699fa8f3186440fdaadd703d63d8d42322c176..ab60513a3a5a0591e237fddff5d027a982648392 2021-06-21 12:23:10 -0700 to 2021-07-05 08:27:31 -0700 - fix grammar in Expressions (rust-lang/reference#1057) - fix comment in function parameter drop scope example (rust-lang/reference#1056) - fix typo in macro-ambiguity.md (rust-lang/reference#1058) - Mention (negative) infinity values on float-to-int casting (rust-lang/reference#1054) - (rust-lang/reference#841) - Missing TypeParamBounds in TypeAlias (rust-lang/reference#1036) - Be more precise about array offset in type layouts (rust-lang/reference#1034) ## book 34 commits in 55a26488ddefc8433e73a2e8352d70f7a5c7fc2b..a90f07f1e9a7fc75dc9105a6c6f16d5c13edceb0 2021-05-09 12:03:18 -0500 to 2021-07-05 14:43:12 -0400 - Clarify ?Sized syntax. Fixes rust-lang/book#2422. - Add some notes that macros are different than functions - Break up a long sentence. Fixes rust-lang/book#2329. - Further clarify and make consistent the reference to deref coercion - Update ch04-03-slices.md - add usage for `String` reference - Update ch15-02-deref.md (rust-lang/book#2780) - Remove claim about performance of i32 - Reword to avoid awkward pluralization - Make the link to the reference relative - Merge remote-tracking branch 'origin/pr/2753' - Reword number of library crates a package contains (rust-lang/book#2750) - Clarify explanation of why you can test private functions; add link - Merge remote-tracking branch 'origin/pr/2743' - Fix code hiding that I broke in eb60fedc9 - Link to the exact later section we're talking about - improve cross-references for newtype pattern - ch12-05, listing 12-20: Add missing "does not compile" warning (rust-lang/book#2731) - cargo format - Merge remote-tracking branch 'origin/pr/2724' - Remove ordinal numbers and only refer to indexes to avoid confusion - Let's mention the former and current authors of tlborm. - Update tlborm link to point to Veykril's up-to-date version (rust-lang/book#2722) - Merge remote-tracking branch 'origin/pr/2720' - Describe the ferris pictures in the alt text - Merge remote-tracking branch 'origin/pr/2707' - Reword ... explanation to include the word deprecated, list that first - Precise that the `...` inclusive range pattern has been replaces (rust-lang/book#2714) - (rust-lang/book#2696) - fix typo: missing "type" after generic (rust-lang/book#2777) - (rust-lang/book#2709) - Remove sentence about how Rust used to be - Fix a potentially confusing statement about static lifetimes of static variables. (rust-lang/book#2692) - Replace 'which'. (rust-lang/book#2663) ## rust-by-example 2 commits in 805e016c5792ad2adabb66e348233067d5ea9f10..028f93a61500fe8f746ee7cc6b204ea6c9f42935 2021-05-20 17:08:34 -0300 to 2021-07-06 06:28:53 -0300 - Fix a couple of typos in the `integration_testing.md` file (rust-lang/rust-by-example#1448) - Fix Structures type list (rust-lang/rust-by-example#1446) ## rustc-dev-guide 13 commits in fe34beddb41dea5cb891032512a8d5b842b99696..60e282559104035985331645907c3d9f842312c5 2021-06-21 21:50:12 +0200 to 2021-07-05 11:21:03 -0400 - Fixed typos in inline code - Document lang items (rust-lang/rustc-dev-guide#1119) - More specifics on what future-incompatible lints are used for - Fix line lens - Update information on lints particularly on future-incompatible - Update section of lint store - Update around half of the January 2021 date references (rust-lang/rustc-dev-guide#1155) - Create issues for many TODOs (rust-lang/rustc-dev-guide#1163) - Links from rustc-dev-guide to std-dev-guide (rust-lang/rustc-dev-guide#1152) - Document how to mark features as incomplete (rust-lang/rustc-dev-guide#1151) - Remove requests or suggestions about rebase and fixup contradictory to rust-highfive bot comment (rust-lang/rustc-dev-guide#1111) - Generate glossary table correctly (rust-lang/rustc-dev-guide#1146) - Correct the wrong serial number (rust-lang/rustc-dev-guide#1147) ## edition-guide 3 commits in c74b2a0d6bf55774cf15d69f05dfe05408b8f81a..5d57b3832f8d308a9f478ce0a69799548f27ad4d 2021-06-14 10:48:27 -0700 to 2021-07-05 10:33:32 +0200 - Add more info for warnings promoted to errors (rust-lang/edition-guide#247) - Create triagebot.toml - Clarify snippets in 2021 panic docs. (rust-lang/edition-guide#245) ## embedded-book 1 commits in cbec77fbd8eea0c13e390dd9eded1ae200e811d1..506840eb73b0749336e1d5274e16d6393892ee82 2021-06-10 06:26:32 +0000 to 2021-06-24 00:01:32 +0000 - Update book to track quickstart changes (rust-embedded/book#296)
Configuration menu - View commit details
-
Copy full SHA for 5196885 - Browse repository at this point
Copy the full SHA 5196885View commit details