Skip to content

transmutability: ensure_sufficient_stack when answering query - #140504

Merged
bors merged 2 commits into
rust-lang:masterfrom
tmiasko:answer-ensure-stack
Apr 30, 2025
Merged

transmutability: ensure_sufficient_stack when answering query#140504
bors merged 2 commits into
rust-lang:masterfrom
tmiasko:answer-ensure-stack

Conversation

@tmiasko

Copy link
Copy Markdown
Contributor

Based on #140380.

Fixes#118860. The compile time was addressed earlier, this merely addresses stack overflow part of the issue.

r? @jswrenn@joshlf

The previous implementation was inconsistent about transitions that
apply for an init byte. For example, when answering a query, an init
byte could use corresponding init transition. Init byte could also use
uninit transition, but only when the corresponding init transition was
absent. This behaviour was incompatible with DFA union construction.
Define an uninit transition to match an uninit byte only and update
implementation accordingly. To describe that `Tree::uninit` is valid
for any value, build an automaton that accepts any byte value.
Additionally, represent byte ranges uniformly as a pair of integers to
avoid special case for uninit byte.
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Apr 30, 2025
@tmiasko
tmiaskoforce-pushed the answer-ensure-stack branch from 7299017 to 0138df1CompareApril 30, 2025 10:06
@tmiaskotmiasko changed the title transmutability: use ensure_sufficient_stack when answering querytransmutability: ensure_sufficient_stack when answering queryApr 30, 2025
@jswrenn

Copy link
Copy Markdown
Member

Well that's a neat gadget! TIL.

@bors r+

@bors

bors commented Apr 30, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit 0138df1 has been approved by jswrenn

It is now in the queue for this repository.

@borsbors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 30, 2025
bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 30, 2025
…iaskrgr
Rollup of 9 pull requests
Successful merges:
- rust-lang#134232 (Share the naked asm impl between cg_ssa and cg_clif)
- rust-lang#139624 (Don't allow flattened format_args in const.)
- rust-lang#140090 (Check bare function idents for non snake-case name)
- rust-lang#140203 (Issue an error when using `no_mangle` on language items)
- rust-lang#140450 (ast: Remove token visiting from AST visitor)
- rust-lang#140498 (Misc tweaks to HIR typeck (mostly w.r.t. checking calls))
- rust-lang#140504 (transmutability: ensure_sufficient_stack when answering query)
- rust-lang#140506 (unstable-book: fix capitalization)
- rust-lang#140516 (Replace use of rustc_type_ir by rustc_middle)
Failed merges:
- rust-lang#140374 (Resolve instance for SymFn in global/naked asm)
r? `@ghost`
`@rustbot` modify labels: rollup
@bors
bors merged commit 62a48cd into rust-lang:masterApr 30, 2025
@rustbotrustbot added this to the 1.88.0 milestone Apr 30, 2025
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Apr 30, 2025
Rollup merge of rust-lang#140504 - tmiasko:answer-ensure-stack, r=jswrenn
transmutability: ensure_sufficient_stack when answering query
Based on rust-lang#140380.
Fixesrust-lang#118860. The compile time was addressed earlier, this merely addresses stack overflow part of the issue.
r? `@jswrenn` `@joshlf`
@tmiasko
tmiasko deleted the answer-ensure-stack branch May 1, 2025 04:45
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compilation unterminated when type variable is a huge array

4 participants

@tmiasko@jswrenn@bors@rustbot