some cleanup in rustc_session - #159398

Open
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1
Open

some cleanup in rustc_session#159398
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1

Conversation

@hkBst

Copy link
Copy Markdown
Member

No description provided.

@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 Jul 16, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

r? @eholk

rustbot has assigned @eholk.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 75 candidates
  • Random selection from 19 candidates

Comment on lines +1361 to 1362
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();

@hkBsthkBstJul 16, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new code does not reset the slot to an empty Vec for a None argument. I'm curious to see if that matters.

View changes since the review

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would cause -Zoffload= to no longer override -Zoffload=a,b,c and instead silently get igbored, right? That is inconsistent with other cli flags where the last occurence does win.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is true, but at the same time, the empty value is the only one that overrides in this way: -Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b', so it seems to already be inconsistent.

Anyway, no change was intended, so I'll revert. Thanks for explaining the significance to me!

@bjorn3bjorn3Jul 19, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b'

Huh, that is inconsistent with other args that use parse_comma_list.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the reset only happens for an empty argument.

@hkBsthkBstJul 21, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The function just before doesn't do a reset ever. Should it?

pub(crate)fnparse_dump_mono_stats(slot:&mutDumpMonoStatsFormat,v:Option<&str>) -> bool{match v {None => true,// hkBst: empty arg, no reset <-----Some("json") => {*slot = DumpMonoStatsFormat::Json;true}Some("markdown") => {*slot = DumpMonoStatsFormat::Markdown;true}Some(_) => false,}}

@hkBsthkBst changed the title cleanupsome cleanup in rustc_sessionJul 16, 2026
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();
for &val in v.iter() {
v.iter().all(|val| {

@bjorn3bjorn3Jul 17, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think using side-effects inside of an iterator method is an improvement.

View changes since the review

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that that is not ideal, but I think that disadvantage is outweighed by the advantage of showing this is an all combinator instead of some random for loop that just happens to be a manual implementation of the all combinator.

@rust-bors

rust-borsBot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

☔ The latest upstream changes (presumably #161014) made this pull request unmergeable. Please resolve the merge conflicts by rebasing.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.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.

4 participants

@hkBst@rustbot@bjorn3@eholk
, '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

some cleanup in rustc_session - #159398

Open
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1
Open

some cleanup in rustc_session#159398
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1

Conversation

@hkBst

Copy link
Copy Markdown
Member

No description provided.

@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 Jul 16, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

r? @eholk

rustbot has assigned @eholk.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 75 candidates
  • Random selection from 19 candidates

Comment on lines +1361 to 1362
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();

@hkBsthkBstJul 16, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new code does not reset the slot to an empty Vec for a None argument. I'm curious to see if that matters.

View changes since the review

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would cause -Zoffload= to no longer override -Zoffload=a,b,c and instead silently get igbored, right? That is inconsistent with other cli flags where the last occurence does win.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is true, but at the same time, the empty value is the only one that overrides in this way: -Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b', so it seems to already be inconsistent.

Anyway, no change was intended, so I'll revert. Thanks for explaining the significance to me!

@bjorn3bjorn3Jul 19, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b'

Huh, that is inconsistent with other args that use parse_comma_list.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the reset only happens for an empty argument.

@hkBsthkBstJul 21, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The function just before doesn't do a reset ever. Should it?

pub(crate)fnparse_dump_mono_stats(slot:&mutDumpMonoStatsFormat,v:Option<&str>) -> bool{match v {None => true,// hkBst: empty arg, no reset <-----Some("json") => {*slot = DumpMonoStatsFormat::Json;true}Some("markdown") => {*slot = DumpMonoStatsFormat::Markdown;true}Some(_) => false,}}

@hkBsthkBst changed the title cleanupsome cleanup in rustc_sessionJul 16, 2026
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();
for &val in v.iter() {
v.iter().all(|val| {

@bjorn3bjorn3Jul 17, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think using side-effects inside of an iterator method is an improvement.

View changes since the review

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that that is not ideal, but I think that disadvantage is outweighed by the advantage of showing this is an all combinator instead of some random for loop that just happens to be a manual implementation of the all combinator.

@rust-bors

rust-borsBot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

☔ The latest upstream changes (presumably #161014) made this pull request unmergeable. Please resolve the merge conflicts by rebasing.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.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.

4 participants

@hkBst@rustbot@bjorn3@eholk
, '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

some cleanup in rustc_session - #159398

Open
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1
Open

some cleanup in rustc_session#159398
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1

Conversation

@hkBst

Copy link
Copy Markdown
Member

No description provided.

@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 Jul 16, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

r? @eholk

rustbot has assigned @eholk.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 75 candidates
  • Random selection from 19 candidates

Comment on lines +1361 to 1362
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();

@hkBsthkBstJul 16, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new code does not reset the slot to an empty Vec for a None argument. I'm curious to see if that matters.

View changes since the review

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would cause -Zoffload= to no longer override -Zoffload=a,b,c and instead silently get igbored, right? That is inconsistent with other cli flags where the last occurence does win.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is true, but at the same time, the empty value is the only one that overrides in this way: -Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b', so it seems to already be inconsistent.

Anyway, no change was intended, so I'll revert. Thanks for explaining the significance to me!

@bjorn3bjorn3Jul 19, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b'

Huh, that is inconsistent with other args that use parse_comma_list.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the reset only happens for an empty argument.

@hkBsthkBstJul 21, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The function just before doesn't do a reset ever. Should it?

pub(crate)fnparse_dump_mono_stats(slot:&mutDumpMonoStatsFormat,v:Option<&str>) -> bool{match v {None => true,// hkBst: empty arg, no reset <-----Some("json") => {*slot = DumpMonoStatsFormat::Json;true}Some("markdown") => {*slot = DumpMonoStatsFormat::Markdown;true}Some(_) => false,}}

@hkBsthkBst changed the title cleanupsome cleanup in rustc_sessionJul 16, 2026
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();
for &val in v.iter() {
v.iter().all(|val| {

@bjorn3bjorn3Jul 17, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think using side-effects inside of an iterator method is an improvement.

View changes since the review

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that that is not ideal, but I think that disadvantage is outweighed by the advantage of showing this is an all combinator instead of some random for loop that just happens to be a manual implementation of the all combinator.

@rust-bors

rust-borsBot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

☔ The latest upstream changes (presumably #161014) made this pull request unmergeable. Please resolve the merge conflicts by rebasing.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.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.

4 participants

@hkBst@rustbot@bjorn3@eholk
, '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

some cleanup in rustc_session - #159398

Open
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1
Open

some cleanup in rustc_session#159398
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1

Conversation

@hkBst

Copy link
Copy Markdown
Member

No description provided.

@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 Jul 16, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

r? @eholk

rustbot has assigned @eholk.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 75 candidates
  • Random selection from 19 candidates

Comment on lines +1361 to 1362
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();

@hkBsthkBstJul 16, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new code does not reset the slot to an empty Vec for a None argument. I'm curious to see if that matters.

View changes since the review

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would cause -Zoffload= to no longer override -Zoffload=a,b,c and instead silently get igbored, right? That is inconsistent with other cli flags where the last occurence does win.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is true, but at the same time, the empty value is the only one that overrides in this way: -Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b', so it seems to already be inconsistent.

Anyway, no change was intended, so I'll revert. Thanks for explaining the significance to me!

@bjorn3bjorn3Jul 19, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b'

Huh, that is inconsistent with other args that use parse_comma_list.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the reset only happens for an empty argument.

@hkBsthkBstJul 21, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The function just before doesn't do a reset ever. Should it?

pub(crate)fnparse_dump_mono_stats(slot:&mutDumpMonoStatsFormat,v:Option<&str>) -> bool{match v {None => true,// hkBst: empty arg, no reset <-----Some("json") => {*slot = DumpMonoStatsFormat::Json;true}Some("markdown") => {*slot = DumpMonoStatsFormat::Markdown;true}Some(_) => false,}}

@hkBsthkBst changed the title cleanupsome cleanup in rustc_sessionJul 16, 2026
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();
for &val in v.iter() {
v.iter().all(|val| {

@bjorn3bjorn3Jul 17, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think using side-effects inside of an iterator method is an improvement.

View changes since the review

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that that is not ideal, but I think that disadvantage is outweighed by the advantage of showing this is an all combinator instead of some random for loop that just happens to be a manual implementation of the all combinator.

@rust-bors

rust-borsBot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

☔ The latest upstream changes (presumably #161014) made this pull request unmergeable. Please resolve the merge conflicts by rebasing.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.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.

4 participants

@hkBst@rustbot@bjorn3@eholk
, '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

some cleanup in rustc_session - #159398

Open
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1
Open

some cleanup in rustc_session#159398
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1

Conversation

@hkBst

Copy link
Copy Markdown
Member

No description provided.

@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 Jul 16, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

r? @eholk

rustbot has assigned @eholk.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 75 candidates
  • Random selection from 19 candidates

Comment on lines +1361 to 1362
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();

@hkBsthkBstJul 16, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new code does not reset the slot to an empty Vec for a None argument. I'm curious to see if that matters.

View changes since the review

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would cause -Zoffload= to no longer override -Zoffload=a,b,c and instead silently get igbored, right? That is inconsistent with other cli flags where the last occurence does win.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is true, but at the same time, the empty value is the only one that overrides in this way: -Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b', so it seems to already be inconsistent.

Anyway, no change was intended, so I'll revert. Thanks for explaining the significance to me!

@bjorn3bjorn3Jul 19, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b'

Huh, that is inconsistent with other args that use parse_comma_list.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the reset only happens for an empty argument.

@hkBsthkBstJul 21, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The function just before doesn't do a reset ever. Should it?

pub(crate)fnparse_dump_mono_stats(slot:&mutDumpMonoStatsFormat,v:Option<&str>) -> bool{match v {None => true,// hkBst: empty arg, no reset <-----Some("json") => {*slot = DumpMonoStatsFormat::Json;true}Some("markdown") => {*slot = DumpMonoStatsFormat::Markdown;true}Some(_) => false,}}

@hkBsthkBst changed the title cleanupsome cleanup in rustc_sessionJul 16, 2026
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();
for &val in v.iter() {
v.iter().all(|val| {

@bjorn3bjorn3Jul 17, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think using side-effects inside of an iterator method is an improvement.

View changes since the review

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that that is not ideal, but I think that disadvantage is outweighed by the advantage of showing this is an all combinator instead of some random for loop that just happens to be a manual implementation of the all combinator.

@rust-bors

rust-borsBot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

☔ The latest upstream changes (presumably #161014) made this pull request unmergeable. Please resolve the merge conflicts by rebasing.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.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.

4 participants

@hkBst@rustbot@bjorn3@eholk
, '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

some cleanup in rustc_session - #159398

Open
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1
Open

some cleanup in rustc_session#159398
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1

Conversation

@hkBst

Copy link
Copy Markdown
Member

No description provided.

@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 Jul 16, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

r? @eholk

rustbot has assigned @eholk.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 75 candidates
  • Random selection from 19 candidates

Comment on lines +1361 to 1362
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();

@hkBsthkBstJul 16, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new code does not reset the slot to an empty Vec for a None argument. I'm curious to see if that matters.

View changes since the review

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would cause -Zoffload= to no longer override -Zoffload=a,b,c and instead silently get igbored, right? That is inconsistent with other cli flags where the last occurence does win.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is true, but at the same time, the empty value is the only one that overrides in this way: -Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b', so it seems to already be inconsistent.

Anyway, no change was intended, so I'll revert. Thanks for explaining the significance to me!

@bjorn3bjorn3Jul 19, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b'

Huh, that is inconsistent with other args that use parse_comma_list.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the reset only happens for an empty argument.

@hkBsthkBstJul 21, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The function just before doesn't do a reset ever. Should it?

pub(crate)fnparse_dump_mono_stats(slot:&mutDumpMonoStatsFormat,v:Option<&str>) -> bool{match v {None => true,// hkBst: empty arg, no reset <-----Some("json") => {*slot = DumpMonoStatsFormat::Json;true}Some("markdown") => {*slot = DumpMonoStatsFormat::Markdown;true}Some(_) => false,}}

@hkBsthkBst changed the title cleanupsome cleanup in rustc_sessionJul 16, 2026
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();
for &val in v.iter() {
v.iter().all(|val| {

@bjorn3bjorn3Jul 17, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think using side-effects inside of an iterator method is an improvement.

View changes since the review

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that that is not ideal, but I think that disadvantage is outweighed by the advantage of showing this is an all combinator instead of some random for loop that just happens to be a manual implementation of the all combinator.

@rust-bors

rust-borsBot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

☔ The latest upstream changes (presumably #161014) made this pull request unmergeable. Please resolve the merge conflicts by rebasing.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.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.

4 participants

@hkBst@rustbot@bjorn3@eholk
, '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

some cleanup in rustc_session - #159398

Open
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1
Open

some cleanup in rustc_session#159398
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1

Conversation

@hkBst

Copy link
Copy Markdown
Member

No description provided.

@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 Jul 16, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

r? @eholk

rustbot has assigned @eholk.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 75 candidates
  • Random selection from 19 candidates

Comment on lines +1361 to 1362
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();

@hkBsthkBstJul 16, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new code does not reset the slot to an empty Vec for a None argument. I'm curious to see if that matters.

View changes since the review

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would cause -Zoffload= to no longer override -Zoffload=a,b,c and instead silently get igbored, right? That is inconsistent with other cli flags where the last occurence does win.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is true, but at the same time, the empty value is the only one that overrides in this way: -Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b', so it seems to already be inconsistent.

Anyway, no change was intended, so I'll revert. Thanks for explaining the significance to me!

@bjorn3bjorn3Jul 19, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b'

Huh, that is inconsistent with other args that use parse_comma_list.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the reset only happens for an empty argument.

@hkBsthkBstJul 21, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The function just before doesn't do a reset ever. Should it?

pub(crate)fnparse_dump_mono_stats(slot:&mutDumpMonoStatsFormat,v:Option<&str>) -> bool{match v {None => true,// hkBst: empty arg, no reset <-----Some("json") => {*slot = DumpMonoStatsFormat::Json;true}Some("markdown") => {*slot = DumpMonoStatsFormat::Markdown;true}Some(_) => false,}}

@hkBsthkBst changed the title cleanupsome cleanup in rustc_sessionJul 16, 2026
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();
for &val in v.iter() {
v.iter().all(|val| {

@bjorn3bjorn3Jul 17, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think using side-effects inside of an iterator method is an improvement.

View changes since the review

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that that is not ideal, but I think that disadvantage is outweighed by the advantage of showing this is an all combinator instead of some random for loop that just happens to be a manual implementation of the all combinator.

@rust-bors

rust-borsBot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

☔ The latest upstream changes (presumably #161014) made this pull request unmergeable. Please resolve the merge conflicts by rebasing.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.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.

4 participants

@hkBst@rustbot@bjorn3@eholk
, '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

some cleanup in rustc_session - #159398

Open
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1
Open

some cleanup in rustc_session#159398
hkBst wants to merge 1 commit into
rust-lang:mainfrom
hkBst:rustc-session-cleanup-1

Conversation

@hkBst

Copy link
Copy Markdown
Member

No description provided.

@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 Jul 16, 2026
@rustbot

Copy link
Copy Markdown
Collaborator

r? @eholk

rustbot has assigned @eholk.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: compiler
  • compiler expanded to 75 candidates
  • Random selection from 19 candidates

Comment on lines +1361 to 1362
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();

@hkBsthkBstJul 16, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new code does not reset the slot to an empty Vec for a None argument. I'm curious to see if that matters.

View changes since the review

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would cause -Zoffload= to no longer override -Zoffload=a,b,c and instead silently get igbored, right? That is inconsistent with other cli flags where the last occurence does win.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is true, but at the same time, the empty value is the only one that overrides in this way: -Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b', so it seems to already be inconsistent.

Anyway, no change was intended, so I'll revert. Thanks for explaining the significance to me!

@bjorn3bjorn3Jul 19, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-Zoffload=a -Zoffload=b is the same as -Zoffload=a,b not as `-Zoffload=b'

Huh, that is inconsistent with other args that use parse_comma_list.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the reset only happens for an empty argument.

@hkBsthkBstJul 21, 2026

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The function just before doesn't do a reset ever. Should it?

pub(crate)fnparse_dump_mono_stats(slot:&mutDumpMonoStatsFormat,v:Option<&str>) -> bool{match v {None => true,// hkBst: empty arg, no reset <-----Some("json") => {*slot = DumpMonoStatsFormat::Json;true}Some("markdown") => {*slot = DumpMonoStatsFormat::Markdown;true}Some(_) => false,}}

@hkBsthkBst changed the title cleanupsome cleanup in rustc_sessionJul 16, 2026
let mut v: Vec<&str> = v.unwrap_or_default().split(",").collect();
v.sort_unstable();
for &val in v.iter() {
v.iter().all(|val| {

@bjorn3bjorn3Jul 17, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think using side-effects inside of an iterator method is an improvement.

View changes since the review

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that that is not ideal, but I think that disadvantage is outweighed by the advantage of showing this is an all combinator instead of some random for loop that just happens to be a manual implementation of the all combinator.

@rust-bors

rust-borsBot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

☔ The latest upstream changes (presumably #161014) made this pull request unmergeable. Please resolve the merge conflicts by rebasing.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.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.

4 participants

@hkBst@rustbot@bjorn3@eholk