Use the correct visibility
This commit is contained in:
parent
c946c2539e
commit
61414fd6c1
@ -433,10 +433,6 @@ impl<'b, 'a, 'tcx> ReachEverythingInTheInterfaceVisitor<'b, 'a, 'tcx> {
|
|||||||
|
|
||||||
fn ty(&mut self) -> &mut Self {
|
fn ty(&mut self) -> &mut Self {
|
||||||
let ty = self.ev.tcx.type_of(self.item_def_id);
|
let ty = self.ev.tcx.type_of(self.item_def_id);
|
||||||
self.walk_ty(ty)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn walk_ty(&mut self, ty: Ty<'tcx>) -> &mut Self {
|
|
||||||
ty.visit_with(self);
|
ty.visit_with(self);
|
||||||
if let ty::TyFnDef(def_id, _) = ty.sty {
|
if let ty::TyFnDef(def_id, _) = ty.sty {
|
||||||
if def_id == self.item_def_id {
|
if def_id == self.item_def_id {
|
||||||
@ -1568,7 +1564,7 @@ impl<'a, 'tcx> Visitor<'tcx> for PrivateItemsInPublicInterfacesVisitor<'a, 'tcx>
|
|||||||
// where `X` is the `impl Iterator<Item=T>` itself,
|
// where `X` is the `impl Iterator<Item=T>` itself,
|
||||||
// stored in `predicates_of`, not in the `Ty` itself.
|
// stored in `predicates_of`, not in the `Ty` itself.
|
||||||
|
|
||||||
self.check(item.id, self.inner_visibility).predicates();
|
self.check(item.id, item_visibility).predicates();
|
||||||
}
|
}
|
||||||
// Subitems of these items have inherited publicity
|
// Subitems of these items have inherited publicity
|
||||||
hir::ItemConst(..) | hir::ItemStatic(..) | hir::ItemFn(..) |
|
hir::ItemConst(..) | hir::ItemStatic(..) | hir::ItemFn(..) |
|
||||||
|
@ -17,6 +17,10 @@ fn some_internal_fn() -> u32 {
|
|||||||
1
|
1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn other_internal_fn() -> u32 {
|
||||||
|
1
|
||||||
|
}
|
||||||
|
|
||||||
// See #40839
|
// See #40839
|
||||||
pub fn return_closure_accessing_internal_fn() -> impl Fn() -> u32 {
|
pub fn return_closure_accessing_internal_fn() -> impl Fn() -> u32 {
|
||||||
|| {
|
|| {
|
||||||
@ -25,5 +29,5 @@ pub fn return_closure_accessing_internal_fn() -> impl Fn() -> u32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn return_internal_fn() -> impl Fn() -> u32 {
|
pub fn return_internal_fn() -> impl Fn() -> u32 {
|
||||||
some_internal_fn
|
other_internal_fn
|
||||||
}
|
}
|
||||||
|
35
src/test/ui/impl-trait/issue-52128.rs
Normal file
35
src/test/ui/impl-trait/issue-52128.rs
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
|
||||||
|
// file at the top-level directory of this distribution and at
|
||||||
|
// http://rust-lang.org/COPYRIGHT.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||||
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||||
|
// option. This file may not be copied, modified, or distributed
|
||||||
|
// except according to those terms.
|
||||||
|
|
||||||
|
// compile-pass
|
||||||
|
|
||||||
|
#![deny(warnings)]
|
||||||
|
|
||||||
|
use std::collections::BTreeMap;
|
||||||
|
|
||||||
|
pub struct RangeMap {
|
||||||
|
map: BTreeMap<Range, u8>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Eq, PartialEq, Ord, PartialOrd)]
|
||||||
|
struct Range;
|
||||||
|
|
||||||
|
impl RangeMap {
|
||||||
|
fn iter_with_range<'a>(&'a self) -> impl Iterator<Item = (&'a Range, &'a u8)> + 'a {
|
||||||
|
self.map.range(Range..Range)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn iter<'a>(&'a self) -> impl Iterator<Item = &'a u8> + 'a {
|
||||||
|
self.iter_with_range().map(|(_, data)| data)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
Loading…
x
Reference in New Issue
Block a user