Uh oh!
There was an error while loading. Please reload this page.
Remove cycle_fatal query modifier - #153276
Conversation
There was a problem hiding this comment.
Please expand the PR description to explain clearly why cycle_fatal has no effect. (I know, because I worked it out two days ago, but to anyone else who comes across this PR it won't be clear, and the change to the comment in plumbing.rs is easy to overlook.)
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
rustbot
commented
Mar 2, 2026
Reminder, once the PR becomes ready for a review, use |
nnethercote
commented
Mar 2, 2026
Blocked on #153169. |
This comment has been minimized.
This comment has been minimized.
nnethercote
commented
Mar 2, 2026
That PR has merged, and this PR is now unblocked. |
rustbot
commented
Mar 4, 2026
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
| // placeholder (error) value if the query resulted in a query cycle. | ||
| // Queries marked with `cycle_fatal` do not need the latter implementation, | ||
| // as they will raise a fatal error on query cycles instead. | ||
| // Queries without a `Value` implementation will raise a fatal error on query |
There was a problem hiding this comment.
| // Queries without a `Value` implementation will raise a fatal error on query | |
| // Queries without a `FromCycleError` implementation will raise a fatal error on query |
This removes the `cycle_fatal` query modifier as it has no effect on its current users. The default `CycleErrorHandling::Error` mode does the same as `cycle_fatal` when the default impl of `FromCycleError` is used. The return types of queries using `cycle_fatal` however have no specialized `FromCycleError` impl.
nnethercote
commented
Mar 4, 2026
@bors r+ rollup |
Remove `cycle_fatal` query modifier This removes the `cycle_fatal` query modifier as it has no effect on its current users. The default `CycleErrorHandling::Error` mode does the same as `cycle_fatal` when the default impl of `FromCycleError` is used. The return types of queries using `cycle_fatal` however have no specialized `FromCycleError` impl.
Remove `cycle_fatal` query modifier This removes the `cycle_fatal` query modifier as it has no effect on its current users. The default `CycleErrorHandling::Error` mode does the same as `cycle_fatal` when the default impl of `FromCycleError` is used. The return types of queries using `cycle_fatal` however have no specialized `FromCycleError` impl.
Remove `cycle_fatal` query modifier This removes the `cycle_fatal` query modifier as it has no effect on its current users. The default `CycleErrorHandling::Error` mode does the same as `cycle_fatal` when the default impl of `FromCycleError` is used. The return types of queries using `cycle_fatal` however have no specialized `FromCycleError` impl.
Remove `cycle_fatal` query modifier This removes the `cycle_fatal` query modifier as it has no effect on its current users. The default `CycleErrorHandling::Error` mode does the same as `cycle_fatal` when the default impl of `FromCycleError` is used. The return types of queries using `cycle_fatal` however have no specialized `FromCycleError` impl.
Rollup of 9 pull requests Successful merges: - #152164 (Lint unused features) - #152801 (Refactor WriteBackendMethods a bit) - #153317 (Abort after `representability` errors) - #153361 (enable `PassMode::Indirect { on_stack: true, .. }` tail call arguments) - #153402 (miri subtree update) - #153276 (Remove `cycle_fatal` query modifier) - #153396 (use `minicore` in some `run-make` tests) - #153401 (Migrationg of `LintDiagnostic` - part 7) - #153406 (Remove a ping for myself)
Rollup of 9 pull requests Successful merges: - #152164 (Lint unused features) - #152801 (Refactor WriteBackendMethods a bit) - #153317 (Abort after `representability` errors) - #153361 (enable `PassMode::Indirect { on_stack: true, .. }` tail call arguments) - #153402 (miri subtree update) - #153276 (Remove `cycle_fatal` query modifier) - #153396 (use `minicore` in some `run-make` tests) - #153401 (Migrationg of `LintDiagnostic` - part 7) - #153406 (Remove a ping for myself)
…uwer Rollup of 12 pull requests Successful merges: - #153402 (miri subtree update) - #152164 (Lint unused features) - #152801 (Refactor WriteBackendMethods a bit) - #153196 (Update path separators to be available in const context) - #153204 (Add `#[must_use]` attribute to `HashMap` and `HashSet` constructors) - #153317 (Abort after `representability` errors) - #153276 (Remove `cycle_fatal` query modifier) - #153300 (Tweak some of our internal `#[rustc_*]` TEST attributes) - #153396 (use `minicore` in some `run-make` tests) - #153401 (Migrationg of `LintDiagnostic` - part 7) - #153406 (Remove a ping for myself) - #153414 (Rename translation -> formatting)
…uwer Rollup of 12 pull requests Successful merges: - #153402 (miri subtree update) - #152164 (Lint unused features) - #152801 (Refactor WriteBackendMethods a bit) - #153196 (Update path separators to be available in const context) - #153204 (Add `#[must_use]` attribute to `HashMap` and `HashSet` constructors) - #153317 (Abort after `representability` errors) - #153276 (Remove `cycle_fatal` query modifier) - #153300 (Tweak some of our internal `#[rustc_*]` TEST attributes) - #153396 (use `minicore` in some `run-make` tests) - #153401 (Migrationg of `LintDiagnostic` - part 7) - #153406 (Remove a ping for myself) - #153414 (Rename translation -> formatting)
…uwer Rollup of 12 pull requests Successful merges: - #153402 (miri subtree update) - #152164 (Lint unused features) - #152801 (Refactor WriteBackendMethods a bit) - #153196 (Update path separators to be available in const context) - #153204 (Add `#[must_use]` attribute to `HashMap` and `HashSet` constructors) - #153317 (Abort after `representability` errors) - #153276 (Remove `cycle_fatal` query modifier) - #153300 (Tweak some of our internal `#[rustc_*]` TEST attributes) - #153396 (use `minicore` in some `run-make` tests) - #153401 (Migrationg of `LintDiagnostic` - part 7) - #153406 (Remove a ping for myself) - #153414 (Rename translation -> formatting)
…uwer Rollup of 12 pull requests Successful merges: - #153402 (miri subtree update) - #152164 (Lint unused features) - #152801 (Refactor WriteBackendMethods a bit) - #153196 (Update path separators to be available in const context) - #153204 (Add `#[must_use]` attribute to `HashMap` and `HashSet` constructors) - #153317 (Abort after `representability` errors) - #153276 (Remove `cycle_fatal` query modifier) - #153300 (Tweak some of our internal `#[rustc_*]` TEST attributes) - #153396 (use `minicore` in some `run-make` tests) - #153401 (Migrationg of `LintDiagnostic` - part 7) - #153406 (Remove a ping for myself) - #153414 (Rename translation -> formatting)
Uh oh!
There was an error while loading. Please reload this page.
Rollup merge of #153276 - Zoxc:rem-fatal-cycle, r=nnethercote Remove `cycle_fatal` query modifier This removes the `cycle_fatal` query modifier as it has no effect on its current users. The default `CycleErrorHandling::Error` mode does the same as `cycle_fatal` when the default impl of `FromCycleError` is used. The return types of queries using `cycle_fatal` however have no specialized `FromCycleError` impl.
…uwer Rollup of 12 pull requests Successful merges: - rust-lang/rust#153402 (miri subtree update) - rust-lang/rust#152164 (Lint unused features) - rust-lang/rust#152801 (Refactor WriteBackendMethods a bit) - rust-lang/rust#153196 (Update path separators to be available in const context) - rust-lang/rust#153204 (Add `#[must_use]` attribute to `HashMap` and `HashSet` constructors) - rust-lang/rust#153317 (Abort after `representability` errors) - rust-lang/rust#153276 (Remove `cycle_fatal` query modifier) - rust-lang/rust#153300 (Tweak some of our internal `#[rustc_*]` TEST attributes) - rust-lang/rust#153396 (use `minicore` in some `run-make` tests) - rust-lang/rust#153401 (Migrationg of `LintDiagnostic` - part 7) - rust-lang/rust#153406 (Remove a ping for myself) - rust-lang/rust#153414 (Rename translation -> formatting)
…uwer Rollup of 12 pull requests Successful merges: - rust-lang/rust#153402 (miri subtree update) - rust-lang/rust#152164 (Lint unused features) - rust-lang/rust#152801 (Refactor WriteBackendMethods a bit) - rust-lang/rust#153196 (Update path separators to be available in const context) - rust-lang/rust#153204 (Add `#[must_use]` attribute to `HashMap` and `HashSet` constructors) - rust-lang/rust#153317 (Abort after `representability` errors) - rust-lang/rust#153276 (Remove `cycle_fatal` query modifier) - rust-lang/rust#153300 (Tweak some of our internal `#[rustc_*]` TEST attributes) - rust-lang/rust#153396 (use `minicore` in some `run-make` tests) - rust-lang/rust#153401 (Migrationg of `LintDiagnostic` - part 7) - rust-lang/rust#153406 (Remove a ping for myself) - rust-lang/rust#153414 (Rename translation -> formatting)
…uwer Rollup of 12 pull requests Successful merges: - rust-lang/rust#153402 (miri subtree update) - rust-lang/rust#152164 (Lint unused features) - rust-lang/rust#152801 (Refactor WriteBackendMethods a bit) - rust-lang/rust#153196 (Update path separators to be available in const context) - rust-lang/rust#153204 (Add `#[must_use]` attribute to `HashMap` and `HashSet` constructors) - rust-lang/rust#153317 (Abort after `representability` errors) - rust-lang/rust#153276 (Remove `cycle_fatal` query modifier) - rust-lang/rust#153300 (Tweak some of our internal `#[rustc_*]` TEST attributes) - rust-lang/rust#153396 (use `minicore` in some `run-make` tests) - rust-lang/rust#153401 (Migrationg of `LintDiagnostic` - part 7) - rust-lang/rust#153406 (Remove a ping for myself) - rust-lang/rust#153414 (Rename translation -> formatting)
…uwer Rollup of 12 pull requests Successful merges: - rust-lang/rust#153402 (miri subtree update) - rust-lang/rust#152164 (Lint unused features) - rust-lang/rust#152801 (Refactor WriteBackendMethods a bit) - rust-lang/rust#153196 (Update path separators to be available in const context) - rust-lang/rust#153204 (Add `#[must_use]` attribute to `HashMap` and `HashSet` constructors) - rust-lang/rust#153317 (Abort after `representability` errors) - rust-lang/rust#153276 (Remove `cycle_fatal` query modifier) - rust-lang/rust#153300 (Tweak some of our internal `#[rustc_*]` TEST attributes) - rust-lang/rust#153396 (use `minicore` in some `run-make` tests) - rust-lang/rust#153401 (Migrationg of `LintDiagnostic` - part 7) - rust-lang/rust#153406 (Remove a ping for myself) - rust-lang/rust#153414 (Rename translation -> formatting)
This removes the
cycle_fatalquery modifier as it has no effect on its current users.The default
CycleErrorHandling::Errormode does the same ascycle_fatalwhen the default impl ofFromCycleErroris used. The return types of queries usingcycle_fatalhowever have no specializedFromCycleErrorimpl.