Auto merge of #145599 - jieyouxu:rollup-523cxhm, r=jieyouxu
Rollup of 15 pull requests Successful merges: - rust-lang/rust#139345 (Extend `QueryStability` to handle `IntoIterator` implementations) - rust-lang/rust#140740 (Add `-Zindirect-branch-cs-prefix`) - rust-lang/rust#142079 (nll-relate: improve hr opaque types support) - rust-lang/rust#142938 (implement std::fs::set_permissions_nofollow on unix) - rust-lang/rust#143730 (fmt of non-decimal radix untangled) - rust-lang/rust#144767 (Correct some grammar in integer documentation) - rust-lang/rust#144906 (Require approval from t-infra instead of t-release on tier bumps) - rust-lang/rust#144983 (Rehome 37 `tests/ui/issues/` tests to other subdirectories under `tests/ui/`) - rust-lang/rust#145025 (run spellcheck as a tidy extra check in ci) - rust-lang/rust#145099 (rustc_target: Add the `32s` target feature for LoongArch) - rust-lang/rust#145166 (suggest using `pub(crate)` for E0364) - rust-lang/rust#145255 (dec2flt: Provide more valid inputs examples) - rust-lang/rust#145306 (Add tracing to various miscellaneous functions) - rust-lang/rust#145336 (Hide docs for `core::unicode`) - rust-lang/rust#145585 (Miri: fix handling of in-place argument and return place handling) r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
@@ -485,6 +485,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
|
||||
root_span,
|
||||
root_id,
|
||||
vis,
|
||||
vis_span: item.vis.span,
|
||||
});
|
||||
|
||||
self.r.indeterminate_imports.push(import);
|
||||
@@ -977,6 +978,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
|
||||
span: item.span,
|
||||
module_path: Vec::new(),
|
||||
vis,
|
||||
vis_span: item.vis.span,
|
||||
});
|
||||
if used {
|
||||
self.r.import_use_map.insert(import, Used::Other);
|
||||
@@ -1111,6 +1113,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
|
||||
span,
|
||||
module_path: Vec::new(),
|
||||
vis: Visibility::Restricted(CRATE_DEF_ID),
|
||||
vis_span: item.vis.span,
|
||||
})
|
||||
};
|
||||
|
||||
@@ -1281,6 +1284,7 @@ impl<'a, 'ra, 'tcx> BuildReducedGraphVisitor<'a, 'ra, 'tcx> {
|
||||
span,
|
||||
module_path: Vec::new(),
|
||||
vis,
|
||||
vis_span: item.vis.span,
|
||||
});
|
||||
self.r.import_use_map.insert(import, Used::Other);
|
||||
let import_binding = self.r.import(binding, import);
|
||||
|
||||
@@ -775,6 +775,17 @@ pub(crate) struct ConsiderAddingMacroExport {
|
||||
pub(crate) span: Span,
|
||||
}
|
||||
|
||||
#[derive(Subdiagnostic)]
|
||||
#[suggestion(
|
||||
resolve_consider_marking_as_pub_crate,
|
||||
code = "pub(crate)",
|
||||
applicability = "maybe-incorrect"
|
||||
)]
|
||||
pub(crate) struct ConsiderMarkingAsPubCrate {
|
||||
#[primary_span]
|
||||
pub(crate) vis_span: Span,
|
||||
}
|
||||
|
||||
#[derive(Subdiagnostic)]
|
||||
#[note(resolve_consider_marking_as_pub)]
|
||||
pub(crate) struct ConsiderMarkingAsPub {
|
||||
|
||||
@@ -30,7 +30,7 @@ use crate::diagnostics::{DiagMode, Suggestion, import_candidates};
|
||||
use crate::errors::{
|
||||
CannotBeReexportedCratePublic, CannotBeReexportedCratePublicNS, CannotBeReexportedPrivate,
|
||||
CannotBeReexportedPrivateNS, CannotDetermineImportResolution, CannotGlobImportAllCrates,
|
||||
ConsiderAddingMacroExport, ConsiderMarkingAsPub,
|
||||
ConsiderAddingMacroExport, ConsiderMarkingAsPub, ConsiderMarkingAsPubCrate,
|
||||
};
|
||||
use crate::{
|
||||
AmbiguityError, AmbiguityKind, BindingKey, CmResolver, Determinacy, Finalize, ImportSuggestion,
|
||||
@@ -184,6 +184,9 @@ pub(crate) struct ImportData<'ra> {
|
||||
/// |`use foo` | `ModuleOrUniformRoot::CurrentScope` | - |
|
||||
pub imported_module: Cell<Option<ModuleOrUniformRoot<'ra>>>,
|
||||
pub vis: Visibility,
|
||||
|
||||
/// Span of the visibility.
|
||||
pub vis_span: Span,
|
||||
}
|
||||
|
||||
/// All imports are unique and allocated on a same arena,
|
||||
@@ -866,7 +869,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
|
||||
}
|
||||
ImportKind::Glob { .. } => {
|
||||
// FIXME: Use mutable resolver directly as a hack, this should be an output of
|
||||
// specualtive resolution.
|
||||
// speculative resolution.
|
||||
self.get_mut_unchecked().resolve_glob_import(import);
|
||||
return 0;
|
||||
}
|
||||
@@ -903,7 +906,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
|
||||
// We need the `target`, `source` can be extracted.
|
||||
let imported_binding = this.import(binding, import);
|
||||
// FIXME: Use mutable resolver directly as a hack, this should be an output of
|
||||
// specualtive resolution.
|
||||
// speculative resolution.
|
||||
this.get_mut_unchecked().define_binding_local(
|
||||
parent,
|
||||
target,
|
||||
@@ -917,7 +920,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
|
||||
if target.name != kw::Underscore {
|
||||
let key = BindingKey::new(target, ns);
|
||||
// FIXME: Use mutable resolver directly as a hack, this should be an output of
|
||||
// specualtive resolution.
|
||||
// speculative resolution.
|
||||
this.get_mut_unchecked().update_local_resolution(
|
||||
parent,
|
||||
key,
|
||||
@@ -1368,6 +1371,9 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
|
||||
err.subdiagnostic( ConsiderAddingMacroExport {
|
||||
span: binding.span,
|
||||
});
|
||||
err.subdiagnostic( ConsiderMarkingAsPubCrate {
|
||||
vis_span: import.vis_span,
|
||||
});
|
||||
}
|
||||
_ => {
|
||||
err.subdiagnostic( ConsiderMarkingAsPub {
|
||||
|
||||
@@ -4270,7 +4270,7 @@ impl<'a, 'ast, 'ra, 'tcx> LateResolutionVisitor<'a, 'ast, 'ra, 'tcx> {
|
||||
if path.len() == 2
|
||||
&& let [segment] = prefix_path
|
||||
{
|
||||
// Delay to check whether methond name is an associated function or not
|
||||
// Delay to check whether method name is an associated function or not
|
||||
// ```
|
||||
// let foo = Foo {};
|
||||
// foo::bar(); // possibly suggest to foo.bar();
|
||||
|
||||
Reference in New Issue
Block a user