fix(delegation): Filter Out Module Segments in Generic Args Inheritance - #153752

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice
Mar 13, 2026
Merged

fix(delegation): Filter Out Module Segments in Generic Args Inheritance#153752
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice

Conversation

@TKanX

@TKanXTKanX commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

Summary:

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.
@aerooneqq

Fixes ICE when delegating to a module or crate root inside a trait impl.

Filters DefKind::Mod in get_segment, returning None for such segments so compilation fails gracefully with the pre-existing E0423 error from the resolver.

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author
@petrochenkov

Adds regression tests for #153743 and #153744.

#153421 already fixed the root cause; this PR adds test coverage.

Closes#153743
Closes#153744

r? @dingxiangfei2009
cc @matthiaskrgr

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Mar 12, 2026
@TKanX

Copy link
Copy Markdown
ContributorAuthor

GH runner seems to be broken.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

let me re-run

@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 9a59b40 to 3d00ceaCompareMarch 12, 2026 02:58
@TKanX
TKanX marked this pull request as ready for review March 12, 2026 03:24
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 12, 2026
@rustbot

This comment has been minimized.

@petrochenkovpetrochenkov added the F-fn_delegation `#![feature(fn_delegation)]` label Mar 12, 2026
@aerooneqq

Copy link
Copy Markdown
Contributor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@aerooneqq So this PR superseded by #153421? Should I close this?

cc @petrochenkov@matthiaskrgr

r? @petrochenkov

@petrochenkov

Copy link
Copy Markdown
Contributor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good.
@rustbot author

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

Reminder, once the PR becomes ready for a review, use @rustbot ready.

@TKanX
TKanX marked this pull request as draft March 13, 2026 10:26
@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 3d00cea to f1f5709CompareMarch 13, 2026 10:26
@TKanX
TKanX marked this pull request as ready for review March 13, 2026 10:26
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

⚠️Warning⚠️

  • There are issue links (such as #123) in the commit messages of the following commits.
    Please move them to the PR description, to avoid spamming the issues with references to the commit, and so this bot can automatically canonicalize them to avoid issues with subtree.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author

As you said: f1f5709

@TKanX

Copy link
Copy Markdown
ContributorAuthor

My local test passed:

> python3 x.py test tests/ui/delegation/ice-non-fn-target-in-trait-impl.rs
...
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 20787 filtered out; finished in 43.27ms

@TKanX

Copy link
Copy Markdown
ContributorAuthor

I wonder if this naming would be more appropriate: ice-non-fn-target-in-trait-impl.rs -> non-fn-target-in-trait-impl.rs (since it no longer ICE).

@petrochenkov

Copy link
Copy Markdown
Contributor

Seems fine as is.
@bors r+ rollup

@rust-bors

rust-borsBot commented Mar 13, 2026

Copy link
Copy Markdown
Contributor

📌 Commit f1f5709 has been approved by petrochenkov

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Mar 13, 2026
rust-borsBot pushed a commit that referenced this pull request Mar 13, 2026
…uwer
Rollup of 7 pull requests
Successful merges:
- #153650 (Streamline active job collection.)
- #153707 (Remove `CycleErrorHandling`.)
- #153384 (Add missing safety doc for CString::from_vec_unchecked and async_drop_in_place)
- #153752 (fix(delegation): Filter Out Module Segments in Generic Args Inheritance)
- #153797 (Compiletest: Fix compare-output-by-lines directive)
- #153810 (compiletest: Use PYTHONPATH for lldb too, not only gdb)
- #153820 (Rename `opt_span_diag_lint` into `opt_span_lint` and remove `emit_diag_lint`)
@rust-bors
rust-borsBot merged commit c631490 into rust-lang:mainMar 13, 2026
11 checks passed
@rustbotrustbot added this to the 1.96.0 milestone Mar 13, 2026
@TKanX
TKanX deleted the bugfix/delegation-non-fn-ice branch March 13, 2026 19:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

F-fn_delegation`#![feature(fn_delegation)]`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.

[ICE]: delegation: DefId doesn't have a parent [ICE]: delegtation: DefId does not have a "generics_of"

5 participants

@TKanX@rustbot@aerooneqq@petrochenkov@dingxiangfei2009
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

fix(delegation): Filter Out Module Segments in Generic Args Inheritance - #153752

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice
Mar 13, 2026
Merged

fix(delegation): Filter Out Module Segments in Generic Args Inheritance#153752
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice

Conversation

@TKanX

@TKanXTKanX commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

Summary:

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.
@aerooneqq

Fixes ICE when delegating to a module or crate root inside a trait impl.

Filters DefKind::Mod in get_segment, returning None for such segments so compilation fails gracefully with the pre-existing E0423 error from the resolver.

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author
@petrochenkov

Adds regression tests for #153743 and #153744.

#153421 already fixed the root cause; this PR adds test coverage.

Closes#153743
Closes#153744

r? @dingxiangfei2009
cc @matthiaskrgr

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Mar 12, 2026
@TKanX

Copy link
Copy Markdown
ContributorAuthor

GH runner seems to be broken.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

let me re-run

@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 9a59b40 to 3d00ceaCompareMarch 12, 2026 02:58
@TKanX
TKanX marked this pull request as ready for review March 12, 2026 03:24
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 12, 2026
@rustbot

This comment has been minimized.

@petrochenkovpetrochenkov added the F-fn_delegation `#![feature(fn_delegation)]` label Mar 12, 2026
@aerooneqq

Copy link
Copy Markdown
Contributor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@aerooneqq So this PR superseded by #153421? Should I close this?

cc @petrochenkov@matthiaskrgr

r? @petrochenkov

@petrochenkov

Copy link
Copy Markdown
Contributor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good.
@rustbot author

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

Reminder, once the PR becomes ready for a review, use @rustbot ready.

@TKanX
TKanX marked this pull request as draft March 13, 2026 10:26
@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 3d00cea to f1f5709CompareMarch 13, 2026 10:26
@TKanX
TKanX marked this pull request as ready for review March 13, 2026 10:26
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

⚠️Warning⚠️

  • There are issue links (such as #123) in the commit messages of the following commits.
    Please move them to the PR description, to avoid spamming the issues with references to the commit, and so this bot can automatically canonicalize them to avoid issues with subtree.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author

As you said: f1f5709

@TKanX

Copy link
Copy Markdown
ContributorAuthor

My local test passed:

> python3 x.py test tests/ui/delegation/ice-non-fn-target-in-trait-impl.rs
...
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 20787 filtered out; finished in 43.27ms

@TKanX

Copy link
Copy Markdown
ContributorAuthor

I wonder if this naming would be more appropriate: ice-non-fn-target-in-trait-impl.rs -> non-fn-target-in-trait-impl.rs (since it no longer ICE).

@petrochenkov

Copy link
Copy Markdown
Contributor

Seems fine as is.
@bors r+ rollup

@rust-bors

rust-borsBot commented Mar 13, 2026

Copy link
Copy Markdown
Contributor

📌 Commit f1f5709 has been approved by petrochenkov

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Mar 13, 2026
rust-borsBot pushed a commit that referenced this pull request Mar 13, 2026
…uwer
Rollup of 7 pull requests
Successful merges:
- #153650 (Streamline active job collection.)
- #153707 (Remove `CycleErrorHandling`.)
- #153384 (Add missing safety doc for CString::from_vec_unchecked and async_drop_in_place)
- #153752 (fix(delegation): Filter Out Module Segments in Generic Args Inheritance)
- #153797 (Compiletest: Fix compare-output-by-lines directive)
- #153810 (compiletest: Use PYTHONPATH for lldb too, not only gdb)
- #153820 (Rename `opt_span_diag_lint` into `opt_span_lint` and remove `emit_diag_lint`)
@rust-bors
rust-borsBot merged commit c631490 into rust-lang:mainMar 13, 2026
11 checks passed
@rustbotrustbot added this to the 1.96.0 milestone Mar 13, 2026
@TKanX
TKanX deleted the bugfix/delegation-non-fn-ice branch March 13, 2026 19:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

F-fn_delegation`#![feature(fn_delegation)]`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.

[ICE]: delegation: DefId doesn't have a parent [ICE]: delegtation: DefId does not have a "generics_of"

5 participants

@TKanX@rustbot@aerooneqq@petrochenkov@dingxiangfei2009
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(delegation): Filter Out Module Segments in Generic Args Inheritance - #153752

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice
Mar 13, 2026
Merged

fix(delegation): Filter Out Module Segments in Generic Args Inheritance#153752
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice

Conversation

@TKanX

@TKanXTKanX commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

Summary:

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.
@aerooneqq

Fixes ICE when delegating to a module or crate root inside a trait impl.

Filters DefKind::Mod in get_segment, returning None for such segments so compilation fails gracefully with the pre-existing E0423 error from the resolver.

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author
@petrochenkov

Adds regression tests for #153743 and #153744.

#153421 already fixed the root cause; this PR adds test coverage.

Closes#153743
Closes#153744

r? @dingxiangfei2009
cc @matthiaskrgr

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Mar 12, 2026
@TKanX

Copy link
Copy Markdown
ContributorAuthor

GH runner seems to be broken.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

let me re-run

@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 9a59b40 to 3d00ceaCompareMarch 12, 2026 02:58
@TKanX
TKanX marked this pull request as ready for review March 12, 2026 03:24
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 12, 2026
@rustbot

This comment has been minimized.

@petrochenkovpetrochenkov added the F-fn_delegation `#![feature(fn_delegation)]` label Mar 12, 2026
@aerooneqq

Copy link
Copy Markdown
Contributor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@aerooneqq So this PR superseded by #153421? Should I close this?

cc @petrochenkov@matthiaskrgr

r? @petrochenkov

@petrochenkov

Copy link
Copy Markdown
Contributor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good.
@rustbot author

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

Reminder, once the PR becomes ready for a review, use @rustbot ready.

@TKanX
TKanX marked this pull request as draft March 13, 2026 10:26
@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 3d00cea to f1f5709CompareMarch 13, 2026 10:26
@TKanX
TKanX marked this pull request as ready for review March 13, 2026 10:26
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

⚠️Warning⚠️

  • There are issue links (such as #123) in the commit messages of the following commits.
    Please move them to the PR description, to avoid spamming the issues with references to the commit, and so this bot can automatically canonicalize them to avoid issues with subtree.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author

As you said: f1f5709

@TKanX

Copy link
Copy Markdown
ContributorAuthor

My local test passed:

> python3 x.py test tests/ui/delegation/ice-non-fn-target-in-trait-impl.rs
...
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 20787 filtered out; finished in 43.27ms

@TKanX

Copy link
Copy Markdown
ContributorAuthor

I wonder if this naming would be more appropriate: ice-non-fn-target-in-trait-impl.rs -> non-fn-target-in-trait-impl.rs (since it no longer ICE).

@petrochenkov

Copy link
Copy Markdown
Contributor

Seems fine as is.
@bors r+ rollup

@rust-bors

rust-borsBot commented Mar 13, 2026

Copy link
Copy Markdown
Contributor

📌 Commit f1f5709 has been approved by petrochenkov

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Mar 13, 2026
rust-borsBot pushed a commit that referenced this pull request Mar 13, 2026
…uwer
Rollup of 7 pull requests
Successful merges:
- #153650 (Streamline active job collection.)
- #153707 (Remove `CycleErrorHandling`.)
- #153384 (Add missing safety doc for CString::from_vec_unchecked and async_drop_in_place)
- #153752 (fix(delegation): Filter Out Module Segments in Generic Args Inheritance)
- #153797 (Compiletest: Fix compare-output-by-lines directive)
- #153810 (compiletest: Use PYTHONPATH for lldb too, not only gdb)
- #153820 (Rename `opt_span_diag_lint` into `opt_span_lint` and remove `emit_diag_lint`)
@rust-bors
rust-borsBot merged commit c631490 into rust-lang:mainMar 13, 2026
11 checks passed
@rustbotrustbot added this to the 1.96.0 milestone Mar 13, 2026
@TKanX
TKanX deleted the bugfix/delegation-non-fn-ice branch March 13, 2026 19:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

F-fn_delegation`#![feature(fn_delegation)]`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.

[ICE]: delegation: DefId doesn't have a parent [ICE]: delegtation: DefId does not have a "generics_of"

5 participants

@TKanX@rustbot@aerooneqq@petrochenkov@dingxiangfei2009
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(delegation): Filter Out Module Segments in Generic Args Inheritance - #153752

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice
Mar 13, 2026
Merged

fix(delegation): Filter Out Module Segments in Generic Args Inheritance#153752
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice

Conversation

@TKanX

@TKanXTKanX commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

Summary:

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.
@aerooneqq

Fixes ICE when delegating to a module or crate root inside a trait impl.

Filters DefKind::Mod in get_segment, returning None for such segments so compilation fails gracefully with the pre-existing E0423 error from the resolver.

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author
@petrochenkov

Adds regression tests for #153743 and #153744.

#153421 already fixed the root cause; this PR adds test coverage.

Closes#153743
Closes#153744

r? @dingxiangfei2009
cc @matthiaskrgr

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Mar 12, 2026
@TKanX

Copy link
Copy Markdown
ContributorAuthor

GH runner seems to be broken.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

let me re-run

@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 9a59b40 to 3d00ceaCompareMarch 12, 2026 02:58
@TKanX
TKanX marked this pull request as ready for review March 12, 2026 03:24
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 12, 2026
@rustbot

This comment has been minimized.

@petrochenkovpetrochenkov added the F-fn_delegation `#![feature(fn_delegation)]` label Mar 12, 2026
@aerooneqq

Copy link
Copy Markdown
Contributor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@aerooneqq So this PR superseded by #153421? Should I close this?

cc @petrochenkov@matthiaskrgr

r? @petrochenkov

@petrochenkov

Copy link
Copy Markdown
Contributor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good.
@rustbot author

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

Reminder, once the PR becomes ready for a review, use @rustbot ready.

@TKanX
TKanX marked this pull request as draft March 13, 2026 10:26
@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 3d00cea to f1f5709CompareMarch 13, 2026 10:26
@TKanX
TKanX marked this pull request as ready for review March 13, 2026 10:26
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

⚠️Warning⚠️

  • There are issue links (such as #123) in the commit messages of the following commits.
    Please move them to the PR description, to avoid spamming the issues with references to the commit, and so this bot can automatically canonicalize them to avoid issues with subtree.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author

As you said: f1f5709

@TKanX

Copy link
Copy Markdown
ContributorAuthor

My local test passed:

> python3 x.py test tests/ui/delegation/ice-non-fn-target-in-trait-impl.rs
...
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 20787 filtered out; finished in 43.27ms

@TKanX

Copy link
Copy Markdown
ContributorAuthor

I wonder if this naming would be more appropriate: ice-non-fn-target-in-trait-impl.rs -> non-fn-target-in-trait-impl.rs (since it no longer ICE).

@petrochenkov

Copy link
Copy Markdown
Contributor

Seems fine as is.
@bors r+ rollup

@rust-bors

rust-borsBot commented Mar 13, 2026

Copy link
Copy Markdown
Contributor

📌 Commit f1f5709 has been approved by petrochenkov

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Mar 13, 2026
rust-borsBot pushed a commit that referenced this pull request Mar 13, 2026
…uwer
Rollup of 7 pull requests
Successful merges:
- #153650 (Streamline active job collection.)
- #153707 (Remove `CycleErrorHandling`.)
- #153384 (Add missing safety doc for CString::from_vec_unchecked and async_drop_in_place)
- #153752 (fix(delegation): Filter Out Module Segments in Generic Args Inheritance)
- #153797 (Compiletest: Fix compare-output-by-lines directive)
- #153810 (compiletest: Use PYTHONPATH for lldb too, not only gdb)
- #153820 (Rename `opt_span_diag_lint` into `opt_span_lint` and remove `emit_diag_lint`)
@rust-bors
rust-borsBot merged commit c631490 into rust-lang:mainMar 13, 2026
11 checks passed
@rustbotrustbot added this to the 1.96.0 milestone Mar 13, 2026
@TKanX
TKanX deleted the bugfix/delegation-non-fn-ice branch March 13, 2026 19:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

F-fn_delegation`#![feature(fn_delegation)]`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.

[ICE]: delegation: DefId doesn't have a parent [ICE]: delegtation: DefId does not have a "generics_of"

5 participants

@TKanX@rustbot@aerooneqq@petrochenkov@dingxiangfei2009
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

fix(delegation): Filter Out Module Segments in Generic Args Inheritance - #153752

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice
Mar 13, 2026
Merged

fix(delegation): Filter Out Module Segments in Generic Args Inheritance#153752
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice

Conversation

@TKanX

@TKanXTKanX commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

Summary:

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.
@aerooneqq

Fixes ICE when delegating to a module or crate root inside a trait impl.

Filters DefKind::Mod in get_segment, returning None for such segments so compilation fails gracefully with the pre-existing E0423 error from the resolver.

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author
@petrochenkov

Adds regression tests for #153743 and #153744.

#153421 already fixed the root cause; this PR adds test coverage.

Closes#153743
Closes#153744

r? @dingxiangfei2009
cc @matthiaskrgr

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Mar 12, 2026
@TKanX

Copy link
Copy Markdown
ContributorAuthor

GH runner seems to be broken.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

let me re-run

@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 9a59b40 to 3d00ceaCompareMarch 12, 2026 02:58
@TKanX
TKanX marked this pull request as ready for review March 12, 2026 03:24
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 12, 2026
@rustbot

This comment has been minimized.

@petrochenkovpetrochenkov added the F-fn_delegation `#![feature(fn_delegation)]` label Mar 12, 2026
@aerooneqq

Copy link
Copy Markdown
Contributor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@aerooneqq So this PR superseded by #153421? Should I close this?

cc @petrochenkov@matthiaskrgr

r? @petrochenkov

@petrochenkov

Copy link
Copy Markdown
Contributor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good.
@rustbot author

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

Reminder, once the PR becomes ready for a review, use @rustbot ready.

@TKanX
TKanX marked this pull request as draft March 13, 2026 10:26
@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 3d00cea to f1f5709CompareMarch 13, 2026 10:26
@TKanX
TKanX marked this pull request as ready for review March 13, 2026 10:26
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

⚠️Warning⚠️

  • There are issue links (such as #123) in the commit messages of the following commits.
    Please move them to the PR description, to avoid spamming the issues with references to the commit, and so this bot can automatically canonicalize them to avoid issues with subtree.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author

As you said: f1f5709

@TKanX

Copy link
Copy Markdown
ContributorAuthor

My local test passed:

> python3 x.py test tests/ui/delegation/ice-non-fn-target-in-trait-impl.rs
...
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 20787 filtered out; finished in 43.27ms

@TKanX

Copy link
Copy Markdown
ContributorAuthor

I wonder if this naming would be more appropriate: ice-non-fn-target-in-trait-impl.rs -> non-fn-target-in-trait-impl.rs (since it no longer ICE).

@petrochenkov

Copy link
Copy Markdown
Contributor

Seems fine as is.
@bors r+ rollup

@rust-bors

rust-borsBot commented Mar 13, 2026

Copy link
Copy Markdown
Contributor

📌 Commit f1f5709 has been approved by petrochenkov

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Mar 13, 2026
rust-borsBot pushed a commit that referenced this pull request Mar 13, 2026
…uwer
Rollup of 7 pull requests
Successful merges:
- #153650 (Streamline active job collection.)
- #153707 (Remove `CycleErrorHandling`.)
- #153384 (Add missing safety doc for CString::from_vec_unchecked and async_drop_in_place)
- #153752 (fix(delegation): Filter Out Module Segments in Generic Args Inheritance)
- #153797 (Compiletest: Fix compare-output-by-lines directive)
- #153810 (compiletest: Use PYTHONPATH for lldb too, not only gdb)
- #153820 (Rename `opt_span_diag_lint` into `opt_span_lint` and remove `emit_diag_lint`)
@rust-bors
rust-borsBot merged commit c631490 into rust-lang:mainMar 13, 2026
11 checks passed
@rustbotrustbot added this to the 1.96.0 milestone Mar 13, 2026
@TKanX
TKanX deleted the bugfix/delegation-non-fn-ice branch March 13, 2026 19:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

F-fn_delegation`#![feature(fn_delegation)]`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.

[ICE]: delegation: DefId doesn't have a parent [ICE]: delegtation: DefId does not have a "generics_of"

5 participants

@TKanX@rustbot@aerooneqq@petrochenkov@dingxiangfei2009
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(delegation): Filter Out Module Segments in Generic Args Inheritance - #153752

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice
Mar 13, 2026
Merged

fix(delegation): Filter Out Module Segments in Generic Args Inheritance#153752
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice

Conversation

@TKanX

@TKanXTKanX commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

Summary:

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.
@aerooneqq

Fixes ICE when delegating to a module or crate root inside a trait impl.

Filters DefKind::Mod in get_segment, returning None for such segments so compilation fails gracefully with the pre-existing E0423 error from the resolver.

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author
@petrochenkov

Adds regression tests for #153743 and #153744.

#153421 already fixed the root cause; this PR adds test coverage.

Closes#153743
Closes#153744

r? @dingxiangfei2009
cc @matthiaskrgr

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Mar 12, 2026
@TKanX

Copy link
Copy Markdown
ContributorAuthor

GH runner seems to be broken.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

let me re-run

@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 9a59b40 to 3d00ceaCompareMarch 12, 2026 02:58
@TKanX
TKanX marked this pull request as ready for review March 12, 2026 03:24
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 12, 2026
@rustbot

This comment has been minimized.

@petrochenkovpetrochenkov added the F-fn_delegation `#![feature(fn_delegation)]` label Mar 12, 2026
@aerooneqq

Copy link
Copy Markdown
Contributor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@aerooneqq So this PR superseded by #153421? Should I close this?

cc @petrochenkov@matthiaskrgr

r? @petrochenkov

@petrochenkov

Copy link
Copy Markdown
Contributor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good.
@rustbot author

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

Reminder, once the PR becomes ready for a review, use @rustbot ready.

@TKanX
TKanX marked this pull request as draft March 13, 2026 10:26
@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 3d00cea to f1f5709CompareMarch 13, 2026 10:26
@TKanX
TKanX marked this pull request as ready for review March 13, 2026 10:26
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

⚠️Warning⚠️

  • There are issue links (such as #123) in the commit messages of the following commits.
    Please move them to the PR description, to avoid spamming the issues with references to the commit, and so this bot can automatically canonicalize them to avoid issues with subtree.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author

As you said: f1f5709

@TKanX

Copy link
Copy Markdown
ContributorAuthor

My local test passed:

> python3 x.py test tests/ui/delegation/ice-non-fn-target-in-trait-impl.rs
...
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 20787 filtered out; finished in 43.27ms

@TKanX

Copy link
Copy Markdown
ContributorAuthor

I wonder if this naming would be more appropriate: ice-non-fn-target-in-trait-impl.rs -> non-fn-target-in-trait-impl.rs (since it no longer ICE).

@petrochenkov

Copy link
Copy Markdown
Contributor

Seems fine as is.
@bors r+ rollup

@rust-bors

rust-borsBot commented Mar 13, 2026

Copy link
Copy Markdown
Contributor

📌 Commit f1f5709 has been approved by petrochenkov

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Mar 13, 2026
rust-borsBot pushed a commit that referenced this pull request Mar 13, 2026
…uwer
Rollup of 7 pull requests
Successful merges:
- #153650 (Streamline active job collection.)
- #153707 (Remove `CycleErrorHandling`.)
- #153384 (Add missing safety doc for CString::from_vec_unchecked and async_drop_in_place)
- #153752 (fix(delegation): Filter Out Module Segments in Generic Args Inheritance)
- #153797 (Compiletest: Fix compare-output-by-lines directive)
- #153810 (compiletest: Use PYTHONPATH for lldb too, not only gdb)
- #153820 (Rename `opt_span_diag_lint` into `opt_span_lint` and remove `emit_diag_lint`)
@rust-bors
rust-borsBot merged commit c631490 into rust-lang:mainMar 13, 2026
11 checks passed
@rustbotrustbot added this to the 1.96.0 milestone Mar 13, 2026
@TKanX
TKanX deleted the bugfix/delegation-non-fn-ice branch March 13, 2026 19:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

F-fn_delegation`#![feature(fn_delegation)]`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.

[ICE]: delegation: DefId doesn't have a parent [ICE]: delegtation: DefId does not have a "generics_of"

5 participants

@TKanX@rustbot@aerooneqq@petrochenkov@dingxiangfei2009
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(delegation): Filter Out Module Segments in Generic Args Inheritance - #153752

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice
Mar 13, 2026
Merged

fix(delegation): Filter Out Module Segments in Generic Args Inheritance#153752
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice

Conversation

@TKanX

@TKanXTKanX commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

Summary:

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.
@aerooneqq

Fixes ICE when delegating to a module or crate root inside a trait impl.

Filters DefKind::Mod in get_segment, returning None for such segments so compilation fails gracefully with the pre-existing E0423 error from the resolver.

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author
@petrochenkov

Adds regression tests for #153743 and #153744.

#153421 already fixed the root cause; this PR adds test coverage.

Closes#153743
Closes#153744

r? @dingxiangfei2009
cc @matthiaskrgr

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Mar 12, 2026
@TKanX

Copy link
Copy Markdown
ContributorAuthor

GH runner seems to be broken.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

let me re-run

@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 9a59b40 to 3d00ceaCompareMarch 12, 2026 02:58
@TKanX
TKanX marked this pull request as ready for review March 12, 2026 03:24
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 12, 2026
@rustbot

This comment has been minimized.

@petrochenkovpetrochenkov added the F-fn_delegation `#![feature(fn_delegation)]` label Mar 12, 2026
@aerooneqq

Copy link
Copy Markdown
Contributor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@aerooneqq So this PR superseded by #153421? Should I close this?

cc @petrochenkov@matthiaskrgr

r? @petrochenkov

@petrochenkov

Copy link
Copy Markdown
Contributor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good.
@rustbot author

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

Reminder, once the PR becomes ready for a review, use @rustbot ready.

@TKanX
TKanX marked this pull request as draft March 13, 2026 10:26
@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 3d00cea to f1f5709CompareMarch 13, 2026 10:26
@TKanX
TKanX marked this pull request as ready for review March 13, 2026 10:26
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

⚠️Warning⚠️

  • There are issue links (such as #123) in the commit messages of the following commits.
    Please move them to the PR description, to avoid spamming the issues with references to the commit, and so this bot can automatically canonicalize them to avoid issues with subtree.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author

As you said: f1f5709

@TKanX

Copy link
Copy Markdown
ContributorAuthor

My local test passed:

> python3 x.py test tests/ui/delegation/ice-non-fn-target-in-trait-impl.rs
...
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 20787 filtered out; finished in 43.27ms

@TKanX

Copy link
Copy Markdown
ContributorAuthor

I wonder if this naming would be more appropriate: ice-non-fn-target-in-trait-impl.rs -> non-fn-target-in-trait-impl.rs (since it no longer ICE).

@petrochenkov

Copy link
Copy Markdown
Contributor

Seems fine as is.
@bors r+ rollup

@rust-bors

rust-borsBot commented Mar 13, 2026

Copy link
Copy Markdown
Contributor

📌 Commit f1f5709 has been approved by petrochenkov

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Mar 13, 2026
rust-borsBot pushed a commit that referenced this pull request Mar 13, 2026
…uwer
Rollup of 7 pull requests
Successful merges:
- #153650 (Streamline active job collection.)
- #153707 (Remove `CycleErrorHandling`.)
- #153384 (Add missing safety doc for CString::from_vec_unchecked and async_drop_in_place)
- #153752 (fix(delegation): Filter Out Module Segments in Generic Args Inheritance)
- #153797 (Compiletest: Fix compare-output-by-lines directive)
- #153810 (compiletest: Use PYTHONPATH for lldb too, not only gdb)
- #153820 (Rename `opt_span_diag_lint` into `opt_span_lint` and remove `emit_diag_lint`)
@rust-bors
rust-borsBot merged commit c631490 into rust-lang:mainMar 13, 2026
11 checks passed
@rustbotrustbot added this to the 1.96.0 milestone Mar 13, 2026
@TKanX
TKanX deleted the bugfix/delegation-non-fn-ice branch March 13, 2026 19:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

F-fn_delegation`#![feature(fn_delegation)]`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.

[ICE]: delegation: DefId doesn't have a parent [ICE]: delegtation: DefId does not have a "generics_of"

5 participants

@TKanX@rustbot@aerooneqq@petrochenkov@dingxiangfei2009
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

fix(delegation): Filter Out Module Segments in Generic Args Inheritance - #153752

Merged
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice
Mar 13, 2026
Merged

fix(delegation): Filter Out Module Segments in Generic Args Inheritance#153752
rust-bors[bot] merged 1 commit into
rust-lang:mainfrom
TKanX:bugfix/delegation-non-fn-ice

Conversation

@TKanX

@TKanXTKanX commented Mar 12, 2026

Copy link
Copy Markdown
Contributor

Summary:

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.
@aerooneqq

Fixes ICE when delegating to a module or crate root inside a trait impl.

Filters DefKind::Mod in get_segment, returning None for such segments so compilation fails gracefully with the pre-existing E0423 error from the resolver.

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author
@petrochenkov

Adds regression tests for #153743 and #153744.

#153421 already fixed the root cause; this PR adds test coverage.

Closes#153743
Closes#153744

r? @dingxiangfei2009
cc @matthiaskrgr

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Mar 12, 2026
@TKanX

Copy link
Copy Markdown
ContributorAuthor

GH runner seems to be broken.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

let me re-run

@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 9a59b40 to 3d00ceaCompareMarch 12, 2026 02:58
@TKanX
TKanX marked this pull request as ready for review March 12, 2026 03:24
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 12, 2026
@rustbot

This comment has been minimized.

@petrochenkovpetrochenkov added the F-fn_delegation `#![feature(fn_delegation)]` label Mar 12, 2026
@aerooneqq

Copy link
Copy Markdown
Contributor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

#153421 (merged not so long ago) fixed those issues by adding check that child segment resolves only to Fn or AssocFn, they should not produce ICEs on main now.

@aerooneqq So this PR superseded by #153421? Should I close this?

cc @petrochenkov@matthiaskrgr

r? @petrochenkov

@petrochenkov

Copy link
Copy Markdown
Contributor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good.
@rustbot author

@rustbotrustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

Reminder, once the PR becomes ready for a review, use @rustbot ready.

@TKanX
TKanX marked this pull request as draft March 13, 2026 10:26
@TKanX
TKanXforce-pushed the bugfix/delegation-non-fn-ice branch from 3d00cea to f1f5709CompareMarch 13, 2026 10:26
@TKanX
TKanX marked this pull request as ready for review March 13, 2026 10:26
@rustbotrustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 13, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

⚠️Warning⚠️

  • There are issue links (such as #123) in the commit messages of the following commits.
    Please move them to the PR description, to avoid spamming the issues with references to the commit, and so this bot can automatically canonicalize them to avoid issues with subtree.

@TKanX

Copy link
Copy Markdown
ContributorAuthor

So this PR superseded by #153421? Should I close this?

Adding tests for the fixed issues is still good. @rustbot author

As you said: f1f5709

@TKanX

Copy link
Copy Markdown
ContributorAuthor

My local test passed:

> python3 x.py test tests/ui/delegation/ice-non-fn-target-in-trait-impl.rs
...
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 20787 filtered out; finished in 43.27ms

@TKanX

Copy link
Copy Markdown
ContributorAuthor

I wonder if this naming would be more appropriate: ice-non-fn-target-in-trait-impl.rs -> non-fn-target-in-trait-impl.rs (since it no longer ICE).

@petrochenkov

Copy link
Copy Markdown
Contributor

Seems fine as is.
@bors r+ rollup

@rust-bors

rust-borsBot commented Mar 13, 2026

Copy link
Copy Markdown
Contributor

📌 Commit f1f5709 has been approved by petrochenkov

It is now in the queue for this repository.

@rust-borsrust-borsBot 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 Mar 13, 2026
rust-borsBot pushed a commit that referenced this pull request Mar 13, 2026
…uwer
Rollup of 7 pull requests
Successful merges:
- #153650 (Streamline active job collection.)
- #153707 (Remove `CycleErrorHandling`.)
- #153384 (Add missing safety doc for CString::from_vec_unchecked and async_drop_in_place)
- #153752 (fix(delegation): Filter Out Module Segments in Generic Args Inheritance)
- #153797 (Compiletest: Fix compare-output-by-lines directive)
- #153810 (compiletest: Use PYTHONPATH for lldb too, not only gdb)
- #153820 (Rename `opt_span_diag_lint` into `opt_span_lint` and remove `emit_diag_lint`)
@rust-bors
rust-borsBot merged commit c631490 into rust-lang:mainMar 13, 2026
11 checks passed
@rustbotrustbot added this to the 1.96.0 milestone Mar 13, 2026
@TKanX
TKanX deleted the bugfix/delegation-non-fn-ice branch March 13, 2026 19:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

F-fn_delegation`#![feature(fn_delegation)]`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.

[ICE]: delegation: DefId doesn't have a parent [ICE]: delegtation: DefId does not have a "generics_of"

5 participants

@TKanX@rustbot@aerooneqq@petrochenkov@dingxiangfei2009