diff options
| author | Manish Goregaokar <manishsmail@gmail.com> | 2015-03-03 14:12:12 +0530 |
|---|---|---|
| committer | Manish Goregaokar <manishsmail@gmail.com> | 2015-03-03 17:01:15 +0530 |
| commit | 3b30b74692cfee533b45e0380591d237975ec215 (patch) | |
| tree | ffa1e9d52f940dbde42d53a8aca829385e87eb8a /src/libcore | |
| parent | 63a91c21d339738d2ed46e38fda7ca35b410935a (diff) | |
| parent | 2b03718618d66e7e672663230be1ee857d3fb89a (diff) | |
Rollup merge of #22943 - ipetkov:lint-recursion, r=alexcrichton
* The lint visitor's visit_ty method did not recurse, and had a reference to the now closed #10894 * The newly enabled recursion has only affected the `deprectated` lint which now detects uses of deprecated items in trait impls and function return types * Renamed some references to `CowString` and `CowVec` to `Cow<str>` and `Cow<[T]>`, respectively, which appear outside of the crate which defines them * Replaced a few instances of `InvariantType<T>` with `PhantomData<Cell<T>>` * Disabled the `deprecated` lint in several places that reference/implement traits on deprecated items which will get cleaned up in the future * Unfortunately, this means that if a library declares `#![deny(deprecated)]` and marks anything as deprecated, it will have to disable the lint for any uses of said item, e.g. any impl the now deprecated item For any library that denies deprecated items but has deprecated items of its own, this is a [breaking-change] I had originally intended for the lint to ignore uses of deprecated items that are declared in the same crate, but this goes against some previous test cases that expect the lint to capture *all* uses of deprecated items, so I maintained the previous approach to avoid changing the expected behavior of the lint. Tested locally on OS X, so hopefully there aren't any deprecated item uses behind a `cfg` that I may have missed.
Diffstat (limited to 'src/libcore')
| -rw-r--r-- | src/libcore/atomic.rs | 2 | ||||
| -rw-r--r-- | src/libcore/raw.rs | 1 | ||||
| -rw-r--r-- | src/libcore/str/mod.rs | 2 |
3 files changed, 5 insertions, 0 deletions
diff --git a/src/libcore/atomic.rs b/src/libcore/atomic.rs index 38e2bd98ef9..c316236a804 100644 --- a/src/libcore/atomic.rs +++ b/src/libcore/atomic.rs @@ -1067,6 +1067,7 @@ pub struct AtomicInt { v: UnsafeCell<int>, } +#[allow(deprecated)] unsafe impl Sync for AtomicInt {} #[unstable(feature = "core")] @@ -1077,6 +1078,7 @@ pub struct AtomicUint { v: UnsafeCell<uint>, } +#[allow(deprecated)] unsafe impl Sync for AtomicUint {} #[unstable(feature = "core")] diff --git a/src/libcore/raw.rs b/src/libcore/raw.rs index 5cc210df5b4..35dfc762687 100644 --- a/src/libcore/raw.rs +++ b/src/libcore/raw.rs @@ -70,6 +70,7 @@ impl<T> Copy for Slice<T> {} #[deprecated(reason = "unboxed new closures do not have a universal representation; \ `&Fn` (etc) trait objects should use `TraitObject` instead", since= "1.0.0")] +#[allow(deprecated) /* for deriving Copy impl */] pub struct Closure { pub code: *mut (), pub env: *mut (), diff --git a/src/libcore/str/mod.rs b/src/libcore/str/mod.rs index b354116993c..facc62a8659 100644 --- a/src/libcore/str/mod.rs +++ b/src/libcore/str/mod.rs @@ -935,6 +935,7 @@ impl<'a, P: Pattern<'a>> Iterator for MatchIndices<'a, P> { #[unstable(feature = "core")] #[deprecated(since = "1.0.0", reason = "use `Split` with a `&str`")] pub struct SplitStr<'a, P: Pattern<'a>>(Split<'a, P>); +#[allow(deprecated)] impl<'a, P: Pattern<'a>> Iterator for SplitStr<'a, P> { type Item = &'a str; @@ -1325,6 +1326,7 @@ pub trait StrExt { fn split_terminator<'a, P: Pattern<'a>>(&'a self, pat: P) -> SplitTerminator<'a, P>; fn rsplitn<'a, P: Pattern<'a>>(&'a self, count: usize, pat: P) -> RSplitN<'a, P>; fn match_indices<'a, P: Pattern<'a>>(&'a self, pat: P) -> MatchIndices<'a, P>; + #[allow(deprecated) /* for SplitStr */] fn split_str<'a, P: Pattern<'a>>(&'a self, pat: P) -> SplitStr<'a, P>; fn lines<'a>(&'a self) -> Lines<'a>; fn lines_any<'a>(&'a self) -> LinesAny<'a>; |
