Auto merge of #50682 - F001:issue-50589, r=petrochenkov
Add lint for multiple associated types Fix https://github.com/rust-lang/rust/issues/50589. cc @abonander
This commit is contained in:
commit
9a4e5df126
5 changed files with 81 additions and 4 deletions
23
src/test/ui/lint/issue-50589-multiple-associated-types.rs
Normal file
23
src/test/ui/lint/issue-50589-multiple-associated-types.rs
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
// 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
|
||||
|
||||
use std::iter::Iterator;
|
||||
|
||||
type Unit = ();
|
||||
|
||||
fn test() -> Box<Iterator<Item = (), Item = Unit>> {
|
||||
Box::new(None.into_iter())
|
||||
}
|
||||
|
||||
fn main() {
|
||||
test();
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
warning: associated type binding `Item` specified more than once
|
||||
--> $DIR/issue-50589-multiple-associated-types.rs:17:39
|
||||
|
|
||||
LL | fn test() -> Box<Iterator<Item = (), Item = Unit>> {
|
||||
| --------- ^^^^^^^^^^^ used more than once
|
||||
| |
|
||||
| first use of `Item`
|
||||
|
|
||||
= note: #[warn(duplicate_associated_type_bindings)] on by default
|
||||
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
|
||||
= note: for more information, see issue #50589 <https://github.com/rust-lang/rust/issues/50589>
|
||||
|
||||
warning: associated type binding `Item` specified more than once
|
||||
--> $DIR/issue-50589-multiple-associated-types.rs:17:39
|
||||
|
|
||||
LL | fn test() -> Box<Iterator<Item = (), Item = Unit>> {
|
||||
| --------- ^^^^^^^^^^^ used more than once
|
||||
| |
|
||||
| first use of `Item`
|
||||
|
|
||||
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
|
||||
= note: for more information, see issue #50589 <https://github.com/rust-lang/rust/issues/50589>
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue