-
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 13 pull requests #73876
Rollup of 13 pull requests #73876
Commits on Jun 24, 2020
-
Update Box::from_raw example to generalize better
I know very little about rust, so I saw this example and tried to generalize it by writing, ``` let layout = Layout::new::<T>(); let new_obj = unsafe { let ptr = alloc(layout) as *mut T; *ptr = obj; Box::from_raw(ptr) }; ``` for some more complicated `T`, which ended up crashing with SIGSEGV, because it tried to `drop_in_place` the previous object in `ptr` which is of course garbage. I also added a comment that explains why `.write` is used, but I think adding that comment is optional and may be too verbose here. I do however think that changing this example is a good idea to suggest the correct generalization. `.write` is also used in most of the rest of the documentation here, even if the example is `i32`, so it would additionally be more consistent.
Configuration menu - View commit details
-
Copy full SHA for 0c88dd6 - Browse repository at this point
Copy the full SHA 0c88dd6View commit details
Commits on Jun 25, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 2bbc2b3 - Browse repository at this point
Copy the full SHA 2bbc2b3View commit details
Commits on Jun 26, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 00ef461 - Browse repository at this point
Copy the full SHA 00ef461View commit details -
Configuration menu - View commit details
-
Copy full SHA for b71a3e1 - Browse repository at this point
Copy the full SHA b71a3e1View commit details
Commits on Jun 27, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 79a42e3 - Browse repository at this point
Copy the full SHA 79a42e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d0865f - Browse repository at this point
Copy the full SHA 0d0865fView commit details -
Recover extra trailing angle brackets in struct definition
This commit applies the existing 'extra angle bracket recovery' logic when parsing fields in struct definitions. This allows us to continue parsing the struct's fields, avoiding spurious 'missing field' errors in code that tries to use the struct.
Configuration menu - View commit details
-
Copy full SHA for 765bd47 - Browse repository at this point
Copy the full SHA 765bd47View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3fc5593 - Browse repository at this point
Copy the full SHA 3fc5593View commit details -
Use an 'approximate' universal upper bound when reporting region errors
Fixes rust-lang#67765 When reporting errors during MIR region inference, we sometimes use `universal_upper_bound` to obtain a named universal region that we can display to the user. However, this is not always possible - in a case like `fn foo<'a, 'b>() { .. }`, the only upper bound for a region containing `'a` and `'b` is `'static`. When displaying diagnostics, it's usually better to display *some* named region (even if there are multiple involved) rather than fall back to a generic error involving `'static`. This commit adds a new `approx_universal_upper_bound` method, which uses the lowest-numbered universal region if the only alternative is to return `'static`.
Configuration menu - View commit details
-
Copy full SHA for 517d361 - Browse repository at this point
Copy the full SHA 517d361View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7055c23 - Browse repository at this point
Copy the full SHA 7055c23View commit details -
Configuration menu - View commit details
-
Copy full SHA for c321c06 - Browse repository at this point
Copy the full SHA c321c06View commit details -
Configuration menu - View commit details
-
Copy full SHA for a9ece00 - Browse repository at this point
Copy the full SHA a9ece00View commit details -
Configuration menu - View commit details
-
Copy full SHA for acd4818 - Browse repository at this point
Copy the full SHA acd4818View commit details
Commits on Jun 28, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 14d0370 - Browse repository at this point
Copy the full SHA 14d0370View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7231e57 - Browse repository at this point
Copy the full SHA 7231e57View commit details -
Configuration menu - View commit details
-
Copy full SHA for e611a3f - Browse repository at this point
Copy the full SHA e611a3fView commit details -
Configuration menu - View commit details
-
Copy full SHA for e8f5785 - Browse repository at this point
Copy the full SHA e8f5785View commit details -
Configuration menu - View commit details
-
Copy full SHA for dfd454b - Browse repository at this point
Copy the full SHA dfd454bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 824b2bb - Browse repository at this point
Copy the full SHA 824b2bbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4224313 - Browse repository at this point
Copy the full SHA 4224313View commit details
Commits on Jun 29, 2020
-
Rollup merge of rust-lang#73564 - petrochenkov:ehdr, r=Amanieu
linker: Create GNU_EH_FRAME header by default when producing ELFs Do it in a centralized way in `link.rs` instead of individual target specs. The opt-out is `-Clink-arg=(-Wl,)--no-eh-frame-hdr` if necessary. Fixes rust-lang#73451 cc rust-lang#73483
Configuration menu - View commit details
-
Copy full SHA for 24bdb3d - Browse repository at this point
Copy the full SHA 24bdb3dView commit details -
Rollup merge of rust-lang#73678 - Keno:patch-1, r=LukasKalbertodt
Update Box::from_raw example to generalize better I know very little about rust, so I saw the example here ``` use std::alloc::{alloc, Layout}; unsafe { let ptr = alloc(Layout::new::<i32>()) as *mut i32; *ptr = 5; let x = Box::from_raw(ptr); } ``` and tried to generalize it by writing, ``` let layout = Layout::new::<T>(); let new_obj = unsafe { let ptr = alloc(layout) as *mut T; *ptr = obj; Box::from_raw(ptr) }; ``` for some more complicated `T`, which ended up crashing with SIGSEGV, because it tried to `drop_in_place` the previous object in `ptr` which is of course garbage. I think that changing this example to use `.write` instead would be a good idea to suggest the correct generalization. It is also more consistent with other documentation items in this file, which use `.write`. I also added a comment to explain it, but I'm not too attached to that, and can see it being too verbose in this place.
Configuration menu - View commit details
-
Copy full SHA for 63621db - Browse repository at this point
Copy the full SHA 63621dbView commit details -
Rollup merge of rust-lang#73705 - lcnr:skip_binder, r=nikomatsakis
stop taking references in Relate Adds a `Copy` bound to `Relate` and changes the type signatures to `T` from `&T`. While the `Copy` bound is not strictly necessary (i.e. the `Clone` bound of `TypeRelation` would be good enough), we don't need non `Copy` types and it simplifies the implementation. Removes the afaict unused impls for `Vec<ty::PolyExistentialProjection<'tcx>>`, `Rc<T>` and `Box<T>`. If they end up being relevant again the bound of `Relate` can be reduced to `T: Clone`. This also changes signature of `Binder::skip_binder` to `fn skip_binder(self) -> T`. `TypeError::ProjectionBoundsLength` was never used and is also removed in this PR. r? @nikomatsakis maybe 🤔 feel free to reassign
Configuration menu - View commit details
-
Copy full SHA for 39cf207 - Browse repository at this point
Copy the full SHA 39cf207View commit details -
Rollup merge of rust-lang#73716 - poliorcetics:static-keyword, r=Luka…
…sKalbertodt Document the static keyword Partial fix of rust-lang#34601. This documents the `static` keyword. It's basically a simplified version of the reference with more examples. @rustbot modify labels: T-doc,C-enhancement
Configuration menu - View commit details
-
Copy full SHA for c3cdcd2 - Browse repository at this point
Copy the full SHA c3cdcd2View commit details -
Rollup merge of rust-lang#73752 - TyPR124:invalid-parameter-error, r=…
…LukasKalbertodt Remap Windows ERROR_INVALID_PARAMETER to ErrorKind::InvalidInput from Other I don't know if this is acceptable or how likely it is to break existing code, but it seem to me ERROR_INVALID_PARAMETER "The parameter is incorrect" should map to ErrorKind::InvalidInput "A parameter was incorrect". Previously this value fell through to ErrorKind::Other. I can't speak for anyone but myself, but I instinctively thought it would be InvalidInput.
Configuration menu - View commit details
-
Copy full SHA for d011911 - Browse repository at this point
Copy the full SHA d011911View commit details -
Rollup merge of rust-lang#73803 - Aaron1011:feature/angle-field-recov…
…ery, r=matthewjasper Recover extra trailing angle brackets in struct definition This commit applies the existing 'extra angle bracket recovery' logic when parsing fields in struct definitions. This allows us to continue parsing the struct's fields, avoiding spurious 'missing field' errors in code that tries to use the struct.
Configuration menu - View commit details
-
Copy full SHA for 6ad5e42 - Browse repository at this point
Copy the full SHA 6ad5e42View commit details -
Rollup merge of rust-lang#73805 - poliorcetics:type-keyword, r=kennytm
Document the type keyword Partial fix of rust-lang#34601. Two small examples, one clarifying that `type` only defines an alias, not a completely new type, the other explaining the use in traits. @rustbot modify labels: T-doc,C-enhancement
Configuration menu - View commit details
-
Copy full SHA for bafef77 - Browse repository at this point
Copy the full SHA bafef77View commit details -
Rollup merge of rust-lang#73806 - Aaron1011:feature/approx-universal-…
…upper, r=estebank Use an 'approximate' universal upper bound when reporting region errors Fixes rust-lang#67765 When reporting errors during MIR region inference, we sometimes use `universal_upper_bound` to obtain a named universal region that we can display to the user. However, this is not always possible - in a case like `fn foo<'a, 'b>() { .. }`, the only upper bound for a region containing `'a` and `'b` is `'static`. When displaying diagnostics, it's usually better to display *some* named region (even if there are multiple involved) rather than fall back to a generic error involving `'static`. This commit adds a new `approx_universal_upper_bound` method, which uses the lowest-numbered universal region if the only alternative is to return `'static`.
Configuration menu - View commit details
-
Copy full SHA for 00ccc67 - Browse repository at this point
Copy the full SHA 00ccc67View commit details -
Rollup merge of rust-lang#73812 - petrochenkov:prettyref, r=varkor
ast_pretty: Pass some token streams and trees by reference Salvaged from an intermediate version of rust-lang#73345.
Configuration menu - View commit details
-
Copy full SHA for 33e8c5b - Browse repository at this point
Copy the full SHA 33e8c5bView commit details -
Rollup merge of rust-lang#73828 - nop:fix/parameter-name-help, r=este…
…bank Fix wording for anonymous parameter name help ``` --> exercises/functions/functions2.rs:8:15 | 8 | fn call_me(num) { | ^ expected one of `:`, `@`, or `|` | = note: anonymous parameters are removed in the 2018 edition (see RFC 1685) help: if this is a `self` type, give it a parameter name | 8 | fn call_me(self: num) { | ^^^^^^^^^ help: if this was a parameter name, give it a type | 8 | fn call_me(num: TypeName) { | ^^^^^^^^^^^^^ help: if this is a type, explicitly ignore the parameter name | 8 | fn call_me(_: num) { | ``` This commit changes "if this was a parameter name" to "if this is a parameter name" to match the wording of similar errors.
Configuration menu - View commit details
-
Copy full SHA for 7e34995 - Browse repository at this point
Copy the full SHA 7e34995View commit details -
Rollup merge of rust-lang#73834 - oli-obk:safe_intrinsics, r=ecstatic…
…-morse Some refactoring around intrinsic type checking So... This PR went a bit overboard. I wanted to make the `rustc_peek` intrinsic safe (cc @ecstatic-morse ), and remembered a long-standing itch of mine. So I made that huge `&str` match for the intrinsic name a match on `Symbol`s (so basically `u32`s). This is unlikely to have a positive perf effect, even if it likely has better codegen (intrinsics are used rarely, mostly once in their wrapper), so it's mostly a consistency thing since other places actually match on the symbol name of the intrinsics.
Configuration menu - View commit details
-
Copy full SHA for 27f0c97 - Browse repository at this point
Copy the full SHA 27f0c97View commit details -
Rollup merge of rust-lang#73839 - crlf0710:snapshot_the_reality, r=Ma…
…nishearth Split and expand nonstandard-style lints unicode unit test. RFC 2457 requested that the `nonstandard_style` series of linted be adjusted to cover the non_ascii_identifier case. However when i read the code of those implementations, it seems they're already supporting non_ascii_identifiers. But the exact rules is a little different than what's proposed in RFC 2457. So I splitted and expanded the existing test case to try to exercise every branch in the code. I think it'll also be easier to examine the cases in these unit tests to see whether it's ok to just leave them as is, or some adjustments are needed. r? @Manishearth
Configuration menu - View commit details
-
Copy full SHA for 87bf66f - Browse repository at this point
Copy the full SHA 87bf66fView commit details -
Rollup merge of rust-lang#73841 - tmiasko:print-region-graph, r=Mark-…
…Simulacrum Remove defunct `-Z print-region-graph`
Configuration menu - View commit details
-
Copy full SHA for 89bc5a4 - Browse repository at this point
Copy the full SHA 89bc5a4View commit details