| #![feature(associated_type_defaults)] |
| #![warn(clippy::linkedlist)] |
| #![allow(unused, dead_code, clippy::needless_pass_by_value)] |
| |
| extern crate alloc; |
| use alloc::collections::linked_list::LinkedList; |
| |
| const C: LinkedList<i32> = LinkedList::new(); |
| //~^ ERROR: you seem to be using a `LinkedList`! Perhaps you meant some other data structu |
| static S: LinkedList<i32> = LinkedList::new(); |
| //~^ ERROR: you seem to be using a `LinkedList`! Perhaps you meant some other data structu |
| |
| trait Foo { |
| type Baz = LinkedList<u8>; |
| //~^ ERROR: you seem to be using a `LinkedList`! Perhaps you meant some other data str |
| fn foo(_: LinkedList<u8>); |
| //~^ ERROR: you seem to be using a `LinkedList`! Perhaps you meant some other data str |
| const BAR: Option<LinkedList<u8>>; |
| //~^ ERROR: you seem to be using a `LinkedList`! Perhaps you meant some other data str |
| } |
| |
| // Ok, we don’t want to warn for implementations; see issue #605. |
| impl Foo for LinkedList<u8> { |
| fn foo(_: LinkedList<u8>) {} |
| const BAR: Option<LinkedList<u8>> = None; |
| } |
| |
| pub struct Bar { |
| priv_linked_list_field: LinkedList<u8>, |
| //~^ ERROR: you seem to be using a `LinkedList`! Perhaps you meant some other data str |
| pub pub_linked_list_field: LinkedList<u8>, |
| } |
| impl Bar { |
| fn foo(_: LinkedList<u8>) {} |
| //~^ ERROR: you seem to be using a `LinkedList`! Perhaps you meant some other data str |
| } |
| |
| // All of these test should be trigger the lint because they are not |
| // part of the public api |
| fn test(my_favorite_linked_list: LinkedList<u8>) {} |
| //~^ ERROR: you seem to be using a `LinkedList`! Perhaps you meant some other data structu |
| fn test_ret() -> Option<LinkedList<u8>> { |
| //~^ ERROR: you seem to be using a `LinkedList`! Perhaps you meant some other data structu |
| None |
| } |
| fn test_local_not_linted() { |
| let _: LinkedList<u8>; |
| } |
| |
| // All of these test should be allowed because they are part of the |
| // public api and `avoid_breaking_exported_api` is `false` by default. |
| pub fn pub_test(the_most_awesome_linked_list: LinkedList<u8>) {} |
| pub fn pub_test_ret() -> Option<LinkedList<u8>> { |
| None |
| } |
| |
| fn main() {} |