Make negative_bounds internal & fix some of its issues#119354
Merged
bors merged 4 commits intorust-lang:masterfrom Jan 5, 2024
Merged
Make negative_bounds internal & fix some of its issues#119354bors merged 4 commits intorust-lang:masterfrom
negative_bounds internal & fix some of its issues#119354bors merged 4 commits intorust-lang:masterfrom
Conversation
fmease
commented
Dec 27, 2023
| fn test4<T>() where T: !Trait<Assoc: Send> {} | ||
| //~^ ERROR associated type constraints not allowed on negative bounds | ||
|
|
||
| fn test5<T>() where T: !Fn() -> i32 {} |
Member
Author
There was a problem hiding this comment.
This one used to ice with no errors encountered even though `span_delayed_bug` issued // negative trait bounds should not have bindings.
fmease
commented
Dec 27, 2023
Comment on lines
15
to
21
| fn weird0() -> impl Sized + !Sized {} | ||
| //~^ ERROR mismatched types | ||
| //~| ERROR type mismatch resolving `() == impl !Sized` | ||
| fn weird1() -> impl Sized + !Sized {} | ||
| //~^ ERROR mismatched types | ||
| //~| ERROR type mismatch resolving `() == impl !Sized` | ||
| fn weird2() -> impl !Sized + Sized {} |
Member
Author
There was a problem hiding this comment.
We elaborate !Sized to !Sized + Sized which is odd and which I guess we should change?
In the pretty printer, I “unelaborate” any Sized bounds even if we have a !Sized bound to mirror rustc_hir_analysis's elab.
Contributor
There was a problem hiding this comment.
!Sized should opt out implicit sized bounds like ?Sized
negative_bound's impl & mark it as internalnegative_bounds's impl & mark it as internal
This comment was marked as resolved.
This comment was marked as resolved.
This comment has been minimized.
This comment has been minimized.
negative_bounds's impl & mark it as internalnegative_bounds's impl & mark the feature as internal
negative_bounds's impl & mark the feature as internalnegative_bounds & mark the feature as internal
1ec73ce to
66ab625
Compare
66ab625 to
9512f23
Compare
negative_bounds & mark the feature as internalnegative_bounds internal & fix some of its issues
9512f23 to
0f6fc44
Compare
0f6fc44 to
977546d
Compare
fmease
commented
Dec 28, 2023
| // There was in fact a `?Sized` bound, return without doing anything | ||
| } else { | ||
| // There was no `?Sized` bound; add implicitly sized if `Sized` is available. | ||
| if seen_sized_unbound || seen_negative_sized_bound { |
Member
Author
There was a problem hiding this comment.
I wonder if I should reject !Sized + ?Sized: (kinda) “redundant ?Sized bound” // “!Sized already opts out of Sized”.
compiler-errors
approved these changes
Jan 4, 2024
Contributor
|
@bors r+ |
Collaborator
Contributor
|
@bors rollup |
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this pull request
Jan 5, 2024
…mpiler-errors Make `negative_bounds` internal & fix some of its issues r? compiler-errors
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this pull request
Jan 5, 2024
…mpiler-errors Make `negative_bounds` internal & fix some of its issues r? compiler-errors
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Jan 5, 2024
…iaskrgr Rollup of 9 pull requests Successful merges: - rust-lang#117556 (Disallow reference to `static mut` and adding `static_mut_ref` lint) - rust-lang#119354 (Make `negative_bounds` internal & fix some of its issues) - rust-lang#119420 (Handle ForeignItem as TAIT scope.) - rust-lang#119506 (Use `resolutions(()).effective_visiblities` to avoid cycle errors in `report_object_error`) - rust-lang#119566 (Remove `-Zdump-mir-spanview`) - rust-lang#119567 (Remove `-Zreport-delayed-bugs`.) - rust-lang#119577 (Migrate memory overlap check from validator to lint) - rust-lang#119586 ([rustdoc] Fix invalid handling for static method calls in jump to definition feature) - rust-lang#119588 (Move `i586-unknown-netbsd` from tier 2 to tier 3 platform support table) r? `@ghost` `@rustbot` modify labels: rollup
GuillaumeGomez
added a commit
to GuillaumeGomez/rust
that referenced
this pull request
Jan 5, 2024
…mpiler-errors Make `negative_bounds` internal & fix some of its issues r? compiler-errors
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Jan 5, 2024
…llaumeGomez Rollup of 10 pull requests Successful merges: - rust-lang#119354 (Make `negative_bounds` internal & fix some of its issues) - rust-lang#119414 (bootstrap: Move -Clto= setting from Rustc::run to rustc_cargo) - rust-lang#119420 (Handle ForeignItem as TAIT scope.) - rust-lang#119506 (Use `resolutions(()).effective_visiblities` to avoid cycle errors in `report_object_error`) - rust-lang#119538 (Cleanup error handlers: round 5) - rust-lang#119566 (Remove `-Zdump-mir-spanview`) - rust-lang#119567 (Remove `-Zreport-delayed-bugs`.) - rust-lang#119577 (Migrate memory overlap check from validator to lint) - rust-lang#119586 ([rustdoc] Fix invalid handling for static method calls in jump to definition feature) - rust-lang#119588 (Move `i586-unknown-netbsd` from tier 2 to tier 3 platform support table) r? `@ghost` `@rustbot` modify labels: rollup
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this pull request
Jan 5, 2024
…mpiler-errors Make `negative_bounds` internal & fix some of its issues r? compiler-errors
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this pull request
Jan 5, 2024
…mpiler-errors Make `negative_bounds` internal & fix some of its issues r? compiler-errors
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Jan 5, 2024
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#118680 (Add support for shell argfiles) - rust-lang#119151 (Hide foreign `#[doc(hidden)]` paths in import suggestions) - rust-lang#119350 (Imply outlives-bounds on lazy type aliases) - rust-lang#119354 (Make `negative_bounds` internal & fix some of its issues) - rust-lang#119506 (Use `resolutions(()).effective_visiblities` to avoid cycle errors in `report_object_error`) - rust-lang#119554 (Fix scoping for let chains in match guards) - rust-lang#119563 (Check yield terminator's resume type in borrowck) - rust-lang#119589 (cstore: Remove unnecessary locking from `CrateMetadata`) r? `@ghost` `@rustbot` modify labels: rollup
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Jan 5, 2024
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#119151 (Hide foreign `#[doc(hidden)]` paths in import suggestions) - rust-lang#119350 (Imply outlives-bounds on lazy type aliases) - rust-lang#119354 (Make `negative_bounds` internal & fix some of its issues) - rust-lang#119506 (Use `resolutions(()).effective_visiblities` to avoid cycle errors in `report_object_error`) - rust-lang#119554 (Fix scoping for let chains in match guards) - rust-lang#119563 (Check yield terminator's resume type in borrowck) - rust-lang#119589 (cstore: Remove unnecessary locking from `CrateMetadata`) - rust-lang#119622 (never patterns: Document behavior of never patterns with macros-by-example) r? `@ghost` `@rustbot` modify labels: rollup
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Jan 5, 2024
Rollup merge of rust-lang#119354 - fmease:negative_bounds-fixes, r=compiler-errors Make `negative_bounds` internal & fix some of its issues r? compiler-errors
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
r? compiler-errors