Skip to content

Remove pub from core::{unicode,cmath,stackwalk,rt} - #6226

Merged
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199
May 7, 2013
Merged

Remove pub from core::{unicode,cmath,stackwalk,rt}#6226
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

I just removed pub mod from core.rc and then got everything to compile again. One thing I'm worried about is an import like this:

use a;use a::b;mod a {pubtypeb = int;}mod b {use a;// baduse a::b;// good}

I'm not sure if use a::b being valid is a bug or intended behavior (same question about use a). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.

@catamorphism

Copy link
Copy Markdown
Contributor

I think use a::b shouldn't be allowed if a is private, regardless of whether b is public.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

If you can't use anything out of a non-pub mod, then what's the point of having one?

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

cc #6199

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

@alexcrichton siblings can access items in private mods

mod a { fn foo() { } }
// I can access foo
a::foo()

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

I r+'d because I want those modules to be private, but I do think this is exploiting a resolve bug.

I think that absolute path resolution always assumes that private mods are inaccessible, even when the path is stated in a module that should have access to the path. e.g.

priv mod a { pub fn b() }
priv mod c {
use a::b; // a is private so resolve thinks we can't access it, even though `c` is a sibling of `a`
}

Relative paths do work

priv mod a { pub fn b() }
priv mod c {
use super::a::b;
}

imo this is bogus, and visibility should be interpreted the same way for either absolute or relative paths.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

So just out of curiosity, let's say that there's a private module m.

  • This means that within m, all members (not sub-modules) can access any private/public member of m.
  • All child modules of m (and their children) cannot access private members of m, but they can access public members?
  • All siblings of the module m can access all the public members of m
  • Nothing else can access any member of m

Are those true? Additionally, is there a section in the manual or some documentation explaining all this? If not, I'd be willing to take a stab at writing something up (in addition to looking into the resolve bugs if they exist).

bors added a commit that referenced this pull request May 7, 2013
I just removed `pub mod` from `core.rc` and then got everything to compile again. One thing I'm worried about is an import like this:
```rust
use a;
use a::b;
mod a {
pub type b = int;
}
mod b {
use a; // bad
use a::b; // good
}
```
I'm not sure if `use a::b` being valid is a bug or intended behavior (same question about `use a`). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.
@borsbors closed this May 7, 2013
@bors
bors merged commit 24cda9f into rust-lang:incomingMay 7, 2013
@alexcrichton
alexcrichton deleted the issue-6199 branch May 7, 2013 03:49
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

I opened a subsequent issue to deal with the resolve bugs (cc'd previously)

flip1995 pushed a commit to flip1995/rust that referenced this pull request Nov 3, 2020
Add lint for comparing to empty slices instead of using .is_empty()
Hey first time making a clippy lint
I added the implementation of the lint the `len_zero` since it shared a lot of the code, I would otherwise have to rewrite. Just tell me if the lint should use it's own file instead
changelog: Add lint for comparing to empty slices
Fixesrust-lang#6217
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
6207: Extract ImportAssets out of auto_import r=matklad a=Veykril
See rust-lang/rust-analyzer#6172 (comment)
I couldn't fully pull out `AssistContext` as `find_node_at_offset_with_descend`: https://github.com/rust-analyzer/rust-analyzer/blob/81fa00c5b5d5ffb559a39c7ff5190a2519a8ea61/crates/assists/src/assist_context.rs#L90-L92 requires the `SourceFile` which is private in it and I don't think making it public just for this is the right call?
6224: ⬆️ salsa r=matklad a=matklad
bors r+
🤖
6226: Add reminder to update lsp-extensions.md r=matklad a=matklad
bors r+
🤖
6227: Reduce bors timeout r=matklad a=matklad
bors r+
🤖
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@alexcrichton@catamorphism@brson@bors
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
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;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Remove pub from core::{unicode,cmath,stackwalk,rt} by alexcrichton · Pull Request #6226 · rust-lang/rust · GitHub
Skip to content

Remove pub from core::{unicode,cmath,stackwalk,rt} - #6226

Merged
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199
May 7, 2013
Merged

Remove pub from core::{unicode,cmath,stackwalk,rt}#6226
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

I just removed pub mod from core.rc and then got everything to compile again. One thing I'm worried about is an import like this:

use a;use a::b;mod a {pubtypeb = int;}mod b {use a;// baduse a::b;// good}

I'm not sure if use a::b being valid is a bug or intended behavior (same question about use a). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.

@catamorphism

Copy link
Copy Markdown
Contributor

I think use a::b shouldn't be allowed if a is private, regardless of whether b is public.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

If you can't use anything out of a non-pub mod, then what's the point of having one?

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

cc #6199

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

@alexcrichton siblings can access items in private mods

mod a { fn foo() { } }
// I can access foo
a::foo()

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

I r+'d because I want those modules to be private, but I do think this is exploiting a resolve bug.

I think that absolute path resolution always assumes that private mods are inaccessible, even when the path is stated in a module that should have access to the path. e.g.

priv mod a { pub fn b() }
priv mod c {
use a::b; // a is private so resolve thinks we can't access it, even though `c` is a sibling of `a`
}

Relative paths do work

priv mod a { pub fn b() }
priv mod c {
use super::a::b;
}

imo this is bogus, and visibility should be interpreted the same way for either absolute or relative paths.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

So just out of curiosity, let's say that there's a private module m.

  • This means that within m, all members (not sub-modules) can access any private/public member of m.
  • All child modules of m (and their children) cannot access private members of m, but they can access public members?
  • All siblings of the module m can access all the public members of m
  • Nothing else can access any member of m

Are those true? Additionally, is there a section in the manual or some documentation explaining all this? If not, I'd be willing to take a stab at writing something up (in addition to looking into the resolve bugs if they exist).

bors added a commit that referenced this pull request May 7, 2013
I just removed `pub mod` from `core.rc` and then got everything to compile again. One thing I'm worried about is an import like this:
```rust
use a;
use a::b;
mod a {
pub type b = int;
}
mod b {
use a; // bad
use a::b; // good
}
```
I'm not sure if `use a::b` being valid is a bug or intended behavior (same question about `use a`). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.
@borsbors closed this May 7, 2013
@bors
bors merged commit 24cda9f into rust-lang:incomingMay 7, 2013
@alexcrichton
alexcrichton deleted the issue-6199 branch May 7, 2013 03:49
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

I opened a subsequent issue to deal with the resolve bugs (cc'd previously)

flip1995 pushed a commit to flip1995/rust that referenced this pull request Nov 3, 2020
Add lint for comparing to empty slices instead of using .is_empty()
Hey first time making a clippy lint
I added the implementation of the lint the `len_zero` since it shared a lot of the code, I would otherwise have to rewrite. Just tell me if the lint should use it's own file instead
changelog: Add lint for comparing to empty slices
Fixesrust-lang#6217
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
6207: Extract ImportAssets out of auto_import r=matklad a=Veykril
See rust-lang/rust-analyzer#6172 (comment)
I couldn't fully pull out `AssistContext` as `find_node_at_offset_with_descend`: https://github.com/rust-analyzer/rust-analyzer/blob/81fa00c5b5d5ffb559a39c7ff5190a2519a8ea61/crates/assists/src/assist_context.rs#L90-L92 requires the `SourceFile` which is private in it and I don't think making it public just for this is the right call?
6224: ⬆️ salsa r=matklad a=matklad
bors r+
🤖
6226: Add reminder to update lsp-extensions.md r=matklad a=matklad
bors r+
🤖
6227: Reduce bors timeout r=matklad a=matklad
bors r+
🤖
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@alexcrichton@catamorphism@brson@bors
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Remove pub from core::{unicode,cmath,stackwalk,rt} by alexcrichton · Pull Request #6226 · rust-lang/rust · GitHub
Skip to content

Remove pub from core::{unicode,cmath,stackwalk,rt} - #6226

Merged
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199
May 7, 2013
Merged

Remove pub from core::{unicode,cmath,stackwalk,rt}#6226
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

I just removed pub mod from core.rc and then got everything to compile again. One thing I'm worried about is an import like this:

use a;use a::b;mod a {pubtypeb = int;}mod b {use a;// baduse a::b;// good}

I'm not sure if use a::b being valid is a bug or intended behavior (same question about use a). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.

@catamorphism

Copy link
Copy Markdown
Contributor

I think use a::b shouldn't be allowed if a is private, regardless of whether b is public.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

If you can't use anything out of a non-pub mod, then what's the point of having one?

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

cc #6199

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

@alexcrichton siblings can access items in private mods

mod a { fn foo() { } }
// I can access foo
a::foo()

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

I r+'d because I want those modules to be private, but I do think this is exploiting a resolve bug.

I think that absolute path resolution always assumes that private mods are inaccessible, even when the path is stated in a module that should have access to the path. e.g.

priv mod a { pub fn b() }
priv mod c {
use a::b; // a is private so resolve thinks we can't access it, even though `c` is a sibling of `a`
}

Relative paths do work

priv mod a { pub fn b() }
priv mod c {
use super::a::b;
}

imo this is bogus, and visibility should be interpreted the same way for either absolute or relative paths.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

So just out of curiosity, let's say that there's a private module m.

  • This means that within m, all members (not sub-modules) can access any private/public member of m.
  • All child modules of m (and their children) cannot access private members of m, but they can access public members?
  • All siblings of the module m can access all the public members of m
  • Nothing else can access any member of m

Are those true? Additionally, is there a section in the manual or some documentation explaining all this? If not, I'd be willing to take a stab at writing something up (in addition to looking into the resolve bugs if they exist).

bors added a commit that referenced this pull request May 7, 2013
I just removed `pub mod` from `core.rc` and then got everything to compile again. One thing I'm worried about is an import like this:
```rust
use a;
use a::b;
mod a {
pub type b = int;
}
mod b {
use a; // bad
use a::b; // good
}
```
I'm not sure if `use a::b` being valid is a bug or intended behavior (same question about `use a`). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.
@borsbors closed this May 7, 2013
@bors
bors merged commit 24cda9f into rust-lang:incomingMay 7, 2013
@alexcrichton
alexcrichton deleted the issue-6199 branch May 7, 2013 03:49
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

I opened a subsequent issue to deal with the resolve bugs (cc'd previously)

flip1995 pushed a commit to flip1995/rust that referenced this pull request Nov 3, 2020
Add lint for comparing to empty slices instead of using .is_empty()
Hey first time making a clippy lint
I added the implementation of the lint the `len_zero` since it shared a lot of the code, I would otherwise have to rewrite. Just tell me if the lint should use it's own file instead
changelog: Add lint for comparing to empty slices
Fixesrust-lang#6217
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
6207: Extract ImportAssets out of auto_import r=matklad a=Veykril
See rust-lang/rust-analyzer#6172 (comment)
I couldn't fully pull out `AssistContext` as `find_node_at_offset_with_descend`: https://github.com/rust-analyzer/rust-analyzer/blob/81fa00c5b5d5ffb559a39c7ff5190a2519a8ea61/crates/assists/src/assist_context.rs#L90-L92 requires the `SourceFile` which is private in it and I don't think making it public just for this is the right call?
6224: ⬆️ salsa r=matklad a=matklad
bors r+
🤖
6226: Add reminder to update lsp-extensions.md r=matklad a=matklad
bors r+
🤖
6227: Reduce bors timeout r=matklad a=matklad
bors r+
🤖
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

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

Remove pub from core::{unicode,cmath,stackwalk,rt} - #6226

Merged
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199
May 7, 2013
Merged

Remove pub from core::{unicode,cmath,stackwalk,rt}#6226
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

I just removed pub mod from core.rc and then got everything to compile again. One thing I'm worried about is an import like this:

use a;use a::b;mod a {pubtypeb = int;}mod b {use a;// baduse a::b;// good}

I'm not sure if use a::b being valid is a bug or intended behavior (same question about use a). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.

@catamorphism

Copy link
Copy Markdown
Contributor

I think use a::b shouldn't be allowed if a is private, regardless of whether b is public.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

If you can't use anything out of a non-pub mod, then what's the point of having one?

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

cc #6199

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

@alexcrichton siblings can access items in private mods

mod a { fn foo() { } }
// I can access foo
a::foo()

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

I r+'d because I want those modules to be private, but I do think this is exploiting a resolve bug.

I think that absolute path resolution always assumes that private mods are inaccessible, even when the path is stated in a module that should have access to the path. e.g.

priv mod a { pub fn b() }
priv mod c {
use a::b; // a is private so resolve thinks we can't access it, even though `c` is a sibling of `a`
}

Relative paths do work

priv mod a { pub fn b() }
priv mod c {
use super::a::b;
}

imo this is bogus, and visibility should be interpreted the same way for either absolute or relative paths.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

So just out of curiosity, let's say that there's a private module m.

  • This means that within m, all members (not sub-modules) can access any private/public member of m.
  • All child modules of m (and their children) cannot access private members of m, but they can access public members?
  • All siblings of the module m can access all the public members of m
  • Nothing else can access any member of m

Are those true? Additionally, is there a section in the manual or some documentation explaining all this? If not, I'd be willing to take a stab at writing something up (in addition to looking into the resolve bugs if they exist).

bors added a commit that referenced this pull request May 7, 2013
I just removed `pub mod` from `core.rc` and then got everything to compile again. One thing I'm worried about is an import like this:
```rust
use a;
use a::b;
mod a {
pub type b = int;
}
mod b {
use a; // bad
use a::b; // good
}
```
I'm not sure if `use a::b` being valid is a bug or intended behavior (same question about `use a`). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.
@borsbors closed this May 7, 2013
@bors
bors merged commit 24cda9f into rust-lang:incomingMay 7, 2013
@alexcrichton
alexcrichton deleted the issue-6199 branch May 7, 2013 03:49
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

I opened a subsequent issue to deal with the resolve bugs (cc'd previously)

flip1995 pushed a commit to flip1995/rust that referenced this pull request Nov 3, 2020
Add lint for comparing to empty slices instead of using .is_empty()
Hey first time making a clippy lint
I added the implementation of the lint the `len_zero` since it shared a lot of the code, I would otherwise have to rewrite. Just tell me if the lint should use it's own file instead
changelog: Add lint for comparing to empty slices
Fixesrust-lang#6217
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
6207: Extract ImportAssets out of auto_import r=matklad a=Veykril
See rust-lang/rust-analyzer#6172 (comment)
I couldn't fully pull out `AssistContext` as `find_node_at_offset_with_descend`: https://github.com/rust-analyzer/rust-analyzer/blob/81fa00c5b5d5ffb559a39c7ff5190a2519a8ea61/crates/assists/src/assist_context.rs#L90-L92 requires the `SourceFile` which is private in it and I don't think making it public just for this is the right call?
6224: ⬆️ salsa r=matklad a=matklad
bors r+
🤖
6226: Add reminder to update lsp-extensions.md r=matklad a=matklad
bors r+
🤖
6227: Reduce bors timeout r=matklad a=matklad
bors r+
🤖
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

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

Remove pub from core::{unicode,cmath,stackwalk,rt} - #6226

Merged
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199
May 7, 2013
Merged

Remove pub from core::{unicode,cmath,stackwalk,rt}#6226
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

I just removed pub mod from core.rc and then got everything to compile again. One thing I'm worried about is an import like this:

use a;use a::b;mod a {pubtypeb = int;}mod b {use a;// baduse a::b;// good}

I'm not sure if use a::b being valid is a bug or intended behavior (same question about use a). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.

@catamorphism

Copy link
Copy Markdown
Contributor

I think use a::b shouldn't be allowed if a is private, regardless of whether b is public.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

If you can't use anything out of a non-pub mod, then what's the point of having one?

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

cc #6199

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

@alexcrichton siblings can access items in private mods

mod a { fn foo() { } }
// I can access foo
a::foo()

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

I r+'d because I want those modules to be private, but I do think this is exploiting a resolve bug.

I think that absolute path resolution always assumes that private mods are inaccessible, even when the path is stated in a module that should have access to the path. e.g.

priv mod a { pub fn b() }
priv mod c {
use a::b; // a is private so resolve thinks we can't access it, even though `c` is a sibling of `a`
}

Relative paths do work

priv mod a { pub fn b() }
priv mod c {
use super::a::b;
}

imo this is bogus, and visibility should be interpreted the same way for either absolute or relative paths.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

So just out of curiosity, let's say that there's a private module m.

  • This means that within m, all members (not sub-modules) can access any private/public member of m.
  • All child modules of m (and their children) cannot access private members of m, but they can access public members?
  • All siblings of the module m can access all the public members of m
  • Nothing else can access any member of m

Are those true? Additionally, is there a section in the manual or some documentation explaining all this? If not, I'd be willing to take a stab at writing something up (in addition to looking into the resolve bugs if they exist).

bors added a commit that referenced this pull request May 7, 2013
I just removed `pub mod` from `core.rc` and then got everything to compile again. One thing I'm worried about is an import like this:
```rust
use a;
use a::b;
mod a {
pub type b = int;
}
mod b {
use a; // bad
use a::b; // good
}
```
I'm not sure if `use a::b` being valid is a bug or intended behavior (same question about `use a`). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.
@borsbors closed this May 7, 2013
@bors
bors merged commit 24cda9f into rust-lang:incomingMay 7, 2013
@alexcrichton
alexcrichton deleted the issue-6199 branch May 7, 2013 03:49
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

I opened a subsequent issue to deal with the resolve bugs (cc'd previously)

flip1995 pushed a commit to flip1995/rust that referenced this pull request Nov 3, 2020
Add lint for comparing to empty slices instead of using .is_empty()
Hey first time making a clippy lint
I added the implementation of the lint the `len_zero` since it shared a lot of the code, I would otherwise have to rewrite. Just tell me if the lint should use it's own file instead
changelog: Add lint for comparing to empty slices
Fixesrust-lang#6217
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
6207: Extract ImportAssets out of auto_import r=matklad a=Veykril
See rust-lang/rust-analyzer#6172 (comment)
I couldn't fully pull out `AssistContext` as `find_node_at_offset_with_descend`: https://github.com/rust-analyzer/rust-analyzer/blob/81fa00c5b5d5ffb559a39c7ff5190a2519a8ea61/crates/assists/src/assist_context.rs#L90-L92 requires the `SourceFile` which is private in it and I don't think making it public just for this is the right call?
6224: ⬆️ salsa r=matklad a=matklad
bors r+
🤖
6226: Add reminder to update lsp-extensions.md r=matklad a=matklad
bors r+
🤖
6227: Reduce bors timeout r=matklad a=matklad
bors r+
🤖
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@alexcrichton@catamorphism@brson@bors
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Remove pub from core::{unicode,cmath,stackwalk,rt} by alexcrichton · Pull Request #6226 · rust-lang/rust · GitHub
Skip to content

Remove pub from core::{unicode,cmath,stackwalk,rt} - #6226

Merged
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199
May 7, 2013
Merged

Remove pub from core::{unicode,cmath,stackwalk,rt}#6226
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

I just removed pub mod from core.rc and then got everything to compile again. One thing I'm worried about is an import like this:

use a;use a::b;mod a {pubtypeb = int;}mod b {use a;// baduse a::b;// good}

I'm not sure if use a::b being valid is a bug or intended behavior (same question about use a). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.

@catamorphism

Copy link
Copy Markdown
Contributor

I think use a::b shouldn't be allowed if a is private, regardless of whether b is public.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

If you can't use anything out of a non-pub mod, then what's the point of having one?

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

cc #6199

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

@alexcrichton siblings can access items in private mods

mod a { fn foo() { } }
// I can access foo
a::foo()

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

I r+'d because I want those modules to be private, but I do think this is exploiting a resolve bug.

I think that absolute path resolution always assumes that private mods are inaccessible, even when the path is stated in a module that should have access to the path. e.g.

priv mod a { pub fn b() }
priv mod c {
use a::b; // a is private so resolve thinks we can't access it, even though `c` is a sibling of `a`
}

Relative paths do work

priv mod a { pub fn b() }
priv mod c {
use super::a::b;
}

imo this is bogus, and visibility should be interpreted the same way for either absolute or relative paths.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

So just out of curiosity, let's say that there's a private module m.

  • This means that within m, all members (not sub-modules) can access any private/public member of m.
  • All child modules of m (and their children) cannot access private members of m, but they can access public members?
  • All siblings of the module m can access all the public members of m
  • Nothing else can access any member of m

Are those true? Additionally, is there a section in the manual or some documentation explaining all this? If not, I'd be willing to take a stab at writing something up (in addition to looking into the resolve bugs if they exist).

bors added a commit that referenced this pull request May 7, 2013
I just removed `pub mod` from `core.rc` and then got everything to compile again. One thing I'm worried about is an import like this:
```rust
use a;
use a::b;
mod a {
pub type b = int;
}
mod b {
use a; // bad
use a::b; // good
}
```
I'm not sure if `use a::b` being valid is a bug or intended behavior (same question about `use a`). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.
@borsbors closed this May 7, 2013
@bors
bors merged commit 24cda9f into rust-lang:incomingMay 7, 2013
@alexcrichton
alexcrichton deleted the issue-6199 branch May 7, 2013 03:49
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

I opened a subsequent issue to deal with the resolve bugs (cc'd previously)

flip1995 pushed a commit to flip1995/rust that referenced this pull request Nov 3, 2020
Add lint for comparing to empty slices instead of using .is_empty()
Hey first time making a clippy lint
I added the implementation of the lint the `len_zero` since it shared a lot of the code, I would otherwise have to rewrite. Just tell me if the lint should use it's own file instead
changelog: Add lint for comparing to empty slices
Fixesrust-lang#6217
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
6207: Extract ImportAssets out of auto_import r=matklad a=Veykril
See rust-lang/rust-analyzer#6172 (comment)
I couldn't fully pull out `AssistContext` as `find_node_at_offset_with_descend`: https://github.com/rust-analyzer/rust-analyzer/blob/81fa00c5b5d5ffb559a39c7ff5190a2519a8ea61/crates/assists/src/assist_context.rs#L90-L92 requires the `SourceFile` which is private in it and I don't think making it public just for this is the right call?
6224: ⬆️ salsa r=matklad a=matklad
bors r+
🤖
6226: Add reminder to update lsp-extensions.md r=matklad a=matklad
bors r+
🤖
6227: Reduce bors timeout r=matklad a=matklad
bors r+
🤖
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@alexcrichton@catamorphism@brson@bors
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Remove pub from core::{unicode,cmath,stackwalk,rt} by alexcrichton · Pull Request #6226 · rust-lang/rust · GitHub
Skip to content

Remove pub from core::{unicode,cmath,stackwalk,rt} - #6226

Merged
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199
May 7, 2013
Merged

Remove pub from core::{unicode,cmath,stackwalk,rt}#6226
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

I just removed pub mod from core.rc and then got everything to compile again. One thing I'm worried about is an import like this:

use a;use a::b;mod a {pubtypeb = int;}mod b {use a;// baduse a::b;// good}

I'm not sure if use a::b being valid is a bug or intended behavior (same question about use a). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.

@catamorphism

Copy link
Copy Markdown
Contributor

I think use a::b shouldn't be allowed if a is private, regardless of whether b is public.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

If you can't use anything out of a non-pub mod, then what's the point of having one?

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

cc #6199

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

@alexcrichton siblings can access items in private mods

mod a { fn foo() { } }
// I can access foo
a::foo()

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

I r+'d because I want those modules to be private, but I do think this is exploiting a resolve bug.

I think that absolute path resolution always assumes that private mods are inaccessible, even when the path is stated in a module that should have access to the path. e.g.

priv mod a { pub fn b() }
priv mod c {
use a::b; // a is private so resolve thinks we can't access it, even though `c` is a sibling of `a`
}

Relative paths do work

priv mod a { pub fn b() }
priv mod c {
use super::a::b;
}

imo this is bogus, and visibility should be interpreted the same way for either absolute or relative paths.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

So just out of curiosity, let's say that there's a private module m.

  • This means that within m, all members (not sub-modules) can access any private/public member of m.
  • All child modules of m (and their children) cannot access private members of m, but they can access public members?
  • All siblings of the module m can access all the public members of m
  • Nothing else can access any member of m

Are those true? Additionally, is there a section in the manual or some documentation explaining all this? If not, I'd be willing to take a stab at writing something up (in addition to looking into the resolve bugs if they exist).

bors added a commit that referenced this pull request May 7, 2013
I just removed `pub mod` from `core.rc` and then got everything to compile again. One thing I'm worried about is an import like this:
```rust
use a;
use a::b;
mod a {
pub type b = int;
}
mod b {
use a; // bad
use a::b; // good
}
```
I'm not sure if `use a::b` being valid is a bug or intended behavior (same question about `use a`). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.
@borsbors closed this May 7, 2013
@bors
bors merged commit 24cda9f into rust-lang:incomingMay 7, 2013
@alexcrichton
alexcrichton deleted the issue-6199 branch May 7, 2013 03:49
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

I opened a subsequent issue to deal with the resolve bugs (cc'd previously)

flip1995 pushed a commit to flip1995/rust that referenced this pull request Nov 3, 2020
Add lint for comparing to empty slices instead of using .is_empty()
Hey first time making a clippy lint
I added the implementation of the lint the `len_zero` since it shared a lot of the code, I would otherwise have to rewrite. Just tell me if the lint should use it's own file instead
changelog: Add lint for comparing to empty slices
Fixesrust-lang#6217
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
6207: Extract ImportAssets out of auto_import r=matklad a=Veykril
See rust-lang/rust-analyzer#6172 (comment)
I couldn't fully pull out `AssistContext` as `find_node_at_offset_with_descend`: https://github.com/rust-analyzer/rust-analyzer/blob/81fa00c5b5d5ffb559a39c7ff5190a2519a8ea61/crates/assists/src/assist_context.rs#L90-L92 requires the `SourceFile` which is private in it and I don't think making it public just for this is the right call?
6224: ⬆️ salsa r=matklad a=matklad
bors r+
🤖
6226: Add reminder to update lsp-extensions.md r=matklad a=matklad
bors r+
🤖
6227: Reduce bors timeout r=matklad a=matklad
bors r+
🤖
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

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

Remove pub from core::{unicode,cmath,stackwalk,rt} - #6226

Merged
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199
May 7, 2013
Merged

Remove pub from core::{unicode,cmath,stackwalk,rt}#6226
bors merged 1 commit into
rust-lang:incomingfrom
alexcrichton:issue-6199

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

I just removed pub mod from core.rc and then got everything to compile again. One thing I'm worried about is an import like this:

use a;use a::b;mod a {pubtypeb = int;}mod b {use a;// baduse a::b;// good}

I'm not sure if use a::b being valid is a bug or intended behavior (same question about use a). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.

@catamorphism

Copy link
Copy Markdown
Contributor

I think use a::b shouldn't be allowed if a is private, regardless of whether b is public.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

If you can't use anything out of a non-pub mod, then what's the point of having one?

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

cc #6199

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

@alexcrichton siblings can access items in private mods

mod a { fn foo() { } }
// I can access foo
a::foo()

@brson

brson commented May 6, 2013

Copy link
Copy Markdown
Contributor

I r+'d because I want those modules to be private, but I do think this is exploiting a resolve bug.

I think that absolute path resolution always assumes that private mods are inaccessible, even when the path is stated in a module that should have access to the path. e.g.

priv mod a { pub fn b() }
priv mod c {
use a::b; // a is private so resolve thinks we can't access it, even though `c` is a sibling of `a`
}

Relative paths do work

priv mod a { pub fn b() }
priv mod c {
use super::a::b;
}

imo this is bogus, and visibility should be interpreted the same way for either absolute or relative paths.

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

So just out of curiosity, let's say that there's a private module m.

  • This means that within m, all members (not sub-modules) can access any private/public member of m.
  • All child modules of m (and their children) cannot access private members of m, but they can access public members?
  • All siblings of the module m can access all the public members of m
  • Nothing else can access any member of m

Are those true? Additionally, is there a section in the manual or some documentation explaining all this? If not, I'd be willing to take a stab at writing something up (in addition to looking into the resolve bugs if they exist).

bors added a commit that referenced this pull request May 7, 2013
I just removed `pub mod` from `core.rc` and then got everything to compile again. One thing I'm worried about is an import like this:
```rust
use a;
use a::b;
mod a {
pub type b = int;
}
mod b {
use a; // bad
use a::b; // good
}
```
I'm not sure if `use a::b` being valid is a bug or intended behavior (same question about `use a`). If it's intended behavior, then I got around these modules not being public by only importing the specific members that are necessary. Otherwise that probably needs an open issue.
@borsbors closed this May 7, 2013
@bors
bors merged commit 24cda9f into rust-lang:incomingMay 7, 2013
@alexcrichton
alexcrichton deleted the issue-6199 branch May 7, 2013 03:49
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

I opened a subsequent issue to deal with the resolve bugs (cc'd previously)

flip1995 pushed a commit to flip1995/rust that referenced this pull request Nov 3, 2020
Add lint for comparing to empty slices instead of using .is_empty()
Hey first time making a clippy lint
I added the implementation of the lint the `len_zero` since it shared a lot of the code, I would otherwise have to rewrite. Just tell me if the lint should use it's own file instead
changelog: Add lint for comparing to empty slices
Fixesrust-lang#6217
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
6207: Extract ImportAssets out of auto_import r=matklad a=Veykril
See rust-lang/rust-analyzer#6172 (comment)
I couldn't fully pull out `AssistContext` as `find_node_at_offset_with_descend`: https://github.com/rust-analyzer/rust-analyzer/blob/81fa00c5b5d5ffb559a39c7ff5190a2519a8ea61/crates/assists/src/assist_context.rs#L90-L92 requires the `SourceFile` which is private in it and I don't think making it public just for this is the right call?
6224: ⬆️ salsa r=matklad a=matklad
bors r+
🤖
6226: Add reminder to update lsp-extensions.md r=matklad a=matklad
bors r+
🤖
6227: Reduce bors timeout r=matklad a=matklad
bors r+
🤖
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@alexcrichton@catamorphism@brson@bors