Skip to content

Upgrade/clean arch

Upgrade/clean arch #80

Triggered via pull request June 12, 2023 04:55
Status Success
Total duration 8m 4s
Artifacts

ci.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

62 warnings
unused `std::result::Result` that must be used: src/appv2/features/comment/usecases.rs#L51
warning: unused `std::result::Result` that must be used --> src/appv2/features/comment/usecases.rs:51:9 | 51 | / self.comment_repository 52 | | .delete(&article_title_slug, comment_id, author_id); | |_______________________________________________________________^ | = note: this `Result` may be an `Err` variant, which should be handled = note: `#[warn(unused_must_use)]` on by default
method `toHttpRes` should have a snake case name: src/appv2/features/comment/presenters.rs#L95
warning: method `toHttpRes` should have a snake case name --> src/appv2/features/comment/presenters.rs:95:12 | 95 | pub fn toHttpRes(&self) -> HttpResponse { | ^^^^^^^^^ help: convert the identifier to snake case: `to_http_res`
method `toHttpRes` should have a snake case name: src/appv2/features/article/presenters.rs#L137
warning: method `toHttpRes` should have a snake case name --> src/appv2/features/article/presenters.rs:137:12 | 137 | pub fn toHttpRes(&self) -> HttpResponse { | ^^^^^^^^^ help: convert the identifier to snake case: `to_http_res` | = note: `#[warn(non_snake_case)]` on by default
methods called `from_*` usually take no `self`: src/appv2/features/user/presenters.rs#L41
warning: methods called `from_*` usually take no `self` --> src/appv2/features/user/presenters.rs:41:32 | 41 | pub fn from_user_and_token(&self, user: User, token: String) -> HttpResponse { | ^^^^^ | = help: consider choosing a less ambiguous name = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention
methods called `from_*` usually take no `self`: src/appv2/features/tag/presenters.rs#L24
warning: methods called `from_*` usually take no `self` --> src/appv2/features/tag/presenters.rs:24:22 | 24 | pub fn from_list(&self, list: Vec<Tag>) -> HttpResponse { | ^^^^^ | = help: consider choosing a less ambiguous name = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention
methods called `from_*` usually take no `self`: src/appv2/features/profile/presenters.rs#L37
warning: methods called `from_*` usually take no `self` --> src/appv2/features/profile/presenters.rs:37:25 | 37 | pub fn from_profile(&self, model: ProfileModel) -> HttpResponse { | ^^^^^ | = help: consider choosing a less ambiguous name = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention
redundant clone: src/appv2/features/favorite/repositories.rs#L43
warning: redundant clone --> src/appv2/features/favorite/repositories.rs:43:41 | 43 | slug: article_title_slug.to_owned(), | ^^^^^^^^^^^ help: remove this | note: this value is dropped without further use --> src/appv2/features/favorite/repositories.rs:43:23 | 43 | slug: article_title_slug.to_owned(), | ^^^^^^^^^^^^^^^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_clone
redundant clone: src/appv2/features/favorite/repositories.rs#L23
warning: redundant clone --> src/appv2/features/favorite/repositories.rs:23:41 | 23 | slug: article_title_slug.to_owned(), | ^^^^^^^^^^^ help: remove this | note: this value is dropped without further use --> src/appv2/features/favorite/repositories.rs:23:23 | 23 | slug: article_title_slug.to_owned(), | ^^^^^^^^^^^^^^^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_clone
this expression creates a reference which is immediately dereferenced by the compiler: src/appv2/features/comment/usecases.rs#L52
warning: this expression creates a reference which is immediately dereferenced by the compiler --> src/appv2/features/comment/usecases.rs:52:21 | 52 | .delete(&article_title_slug, comment_id, author_id); | ^^^^^^^^^^^^^^^^^^^ help: change this to: `article_title_slug` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow = note: `#[warn(clippy::needless_borrow)]` on by default
redundant clone: src/appv2/features/comment/repositories.rs#L78
warning: redundant clone --> src/appv2/features/comment/repositories.rs:78:27 | 78 | body: body.to_string(), | ^^^^^^^^^^^^ help: remove this | note: this value is dropped without further use --> src/appv2/features/comment/repositories.rs:78:23 | 78 | body: body.to_string(), | ^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_clone
redundant clone: src/appv2/features/comment/repositories.rs#L71
warning: redundant clone --> src/appv2/features/comment/repositories.rs:71:41 | 71 | slug: article_title_slug.to_owned(), | ^^^^^^^^^^^ help: remove this | note: this value is dropped without further use --> src/appv2/features/comment/repositories.rs:71:23 | 71 | slug: article_title_slug.to_owned(), | ^^^^^^^^^^^^^^^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_clone
methods called `from_*` usually take no `self`: src/appv2/features/comment/presenters.rs#L104
warning: methods called `from_*` usually take no `self` --> src/appv2/features/comment/presenters.rs:104:37 | 104 | pub fn from_comment_and_profile(&self, item: (Comment, Profile)) -> HttpResponse { | ^^^^^ | = help: consider choosing a less ambiguous name = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention
methods called `from_*` usually take no `self`: src/appv2/features/comment/presenters.rs#L99
warning: methods called `from_*` usually take no `self` --> src/appv2/features/comment/presenters.rs:99:42 | 99 | pub fn from_comment_and_profile_list(&self, list: Vec<(Comment, Profile)>) -> HttpResponse { | ^^^^^ | = help: consider choosing a less ambiguous name = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention
redundant clone: src/appv2/features/article/usecases.rs#L48
warning: redundant clone --> src/appv2/features/article/usecases.rs:48:52 | 48 | let article_title_slug = article_title_slug.clone(); | ^^^^^^^^ help: remove this | note: this value is dropped without further use --> src/appv2/features/article/usecases.rs:48:34 | 48 | let article_title_slug = article_title_slug.clone(); | ^^^^^^^^^^^^^^^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_clone = note: `#[warn(clippy::redundant_clone)]` on by default
this let-binding has unit value: src/appv2/features/article/presenters.rs#L138
warning: this let-binding has unit value --> src/appv2/features/article/presenters.rs:138:9 | 138 | let res = (); | ^^^^^^^^^^^^^ help: omit the `let` binding: `();` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value = note: `#[warn(clippy::let_unit_value)]` on by default
methods called `from_*` usually take no `self`: src/appv2/features/article/presenters.rs#L133
warning: methods called `from_*` usually take no `self` --> src/appv2/features/article/presenters.rs:133:22 | 133 | pub fn from_item(&self, item: (Article, Profile, FavoriteInfo, Vec<Tag>)) -> HttpResponse { | ^^^^^ | = help: consider choosing a less ambiguous name = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention
methods called `from_*` usually take no `self`: src/appv2/features/article/presenters.rs#L129
warning: methods called `from_*` usually take no `self` --> src/appv2/features/article/presenters.rs:129:32 | 129 | pub fn from_list_and_count(&self, list: ArticlesList, count: i64) -> HttpResponse { | ^^^^^ | = help: consider choosing a less ambiguous name = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention = note: `#[warn(clippy::wrong_self_convention)]` on by default
type alias `Token` is never used: src/appv2/features/tag/repositories.rs#L5
warning: type alias `Token` is never used --> src/appv2/features/tag/repositories.rs:5:6 | 5 | type Token = String; | ^^^^^ | = note: `#[warn(dead_code)]` on by default
use of deprecated field `appv2::features::profile::services::ConverUserToProfile::user`: use repository: src/appv2/features/profile/services.rs#L21
warning: use of deprecated field `appv2::features::profile::services::ConverUserToProfile::user`: use repository --> src/appv2/features/profile/services.rs:21:16 | 21 | image: params.user.image.to_owned(), | ^^^^^^^^^^^
use of deprecated field `appv2::features::profile::services::ConverUserToProfile::user`: use repository: src/appv2/features/profile/services.rs#L20
warning: use of deprecated field `appv2::features::profile::services::ConverUserToProfile::user`: use repository --> src/appv2/features/profile/services.rs:20:14 | 20 | bio: params.user.bio.to_owned(), | ^^^^^^^^^^^
use of deprecated field `appv2::features::profile::services::ConverUserToProfile::user`: use repository: src/appv2/features/profile/services.rs#L19
warning: use of deprecated field `appv2::features::profile::services::ConverUserToProfile::user`: use repository --> src/appv2/features/profile/services.rs:19:19 | 19 | username: params.user.username.to_owned(), | ^^^^^^^^^^^
use of deprecated field `appv2::features::profile::services::ConverUserToProfile::user`: use repository: src/appv2/features/profile/services.rs#L14
warning: use of deprecated field `appv2::features::profile::services::ConverUserToProfile::user`: use repository --> src/appv2/features/profile/services.rs:14:64 | 14 | Some(current_user) => current_user.is_following(conn, &params.user.id), | ^^^^^^^^^^^
use of deprecated field `appv2::features::profile::services::ConverUserToProfile::current_user`: use repository: src/appv2/features/profile/services.rs#L13
warning: use of deprecated field `appv2::features::profile::services::ConverUserToProfile::current_user`: use repository --> src/appv2/features/profile/services.rs:13:27 | 13 | let following = match params.current_user.as_ref() { | ^^^^^^^^^^^^^^^^^^^
use of deprecated field `appv2::features::profile::services::ConverUserToProfile::current_user`: use repository: src/appv2/features/comment/repositories.rs#L50
warning: use of deprecated field `appv2::features::profile::services::ConverUserToProfile::current_user`: use repository --> src/appv2/features/comment/repositories.rs:50:79 | 50 | conver_user_to_profile(conn, &ConverUserToProfile { user, current_user }); | ^^^^^^^^^^^^
use of deprecated field `appv2::features::profile::services::ConverUserToProfile::user`: use repository: src/appv2/features/comment/repositories.rs#L50
warning: use of deprecated field `appv2::features::profile::services::ConverUserToProfile::user`: use repository --> src/appv2/features/comment/repositories.rs:50:73 | 50 | conver_user_to_profile(conn, &ConverUserToProfile { user, current_user }); | ^^^^
use of deprecated field `appv2::drivers::middlewares::state::AppState::pool`: src/appv2/drivers/middlewares/state.rs#L23
warning: use of deprecated field `appv2::drivers::middlewares::state::AppState::pool` --> src/appv2/drivers/middlewares/state.rs:23:20 | 23 | let conn = self.pool.get()?; | ^^^^^^^^^
use of deprecated field `appv2::drivers::middlewares::state::AppState::pool`: src/appv2/drivers/middlewares/state.rs#L19
warning: use of deprecated field `appv2::drivers::middlewares::state::AppState::pool` --> src/appv2/drivers/middlewares/state.rs:19:16 | 19 | Self { pool, di_container } | ^^^^
use of deprecated struct `appv2::features::profile::services::ConverUserToProfile`: use repository: src/appv2/features/profile/services.rs#L12
warning: use of deprecated struct `appv2::features::profile::services::ConverUserToProfile`: use repository --> src/appv2/features/profile/services.rs:12:65 | 12 | pub fn conver_user_to_profile(conn: &mut PgConnection, params: &ConverUserToProfile) -> Profile { | ^^^^^^^^^^^^^^^^^^^
use of deprecated struct `appv2::features::profile::services::ConverUserToProfile`: use repository: src/appv2/features/comment/repositories.rs#L50
warning: use of deprecated struct `appv2::features::profile::services::ConverUserToProfile`: use repository --> src/appv2/features/comment/repositories.rs:50:51 | 50 | conver_user_to_profile(conn, &ConverUserToProfile { user, current_user }); | ^^^^^^^^^^^^^^^^^^^
use of deprecated function `appv2::features::profile::services::conver_user_to_profile`: use repository: src/appv2/features/comment/repositories.rs#L50
warning: use of deprecated function `appv2::features::profile::services::conver_user_to_profile`: use repository --> src/appv2/features/comment/repositories.rs:50:21 | 50 | conver_user_to_profile(conn, &ConverUserToProfile { user, current_user }); | ^^^^^^^^^^^^^^^^^^^^^^
use of deprecated struct `appv2::features::profile::services::ConverUserToProfile`: use repository: src/appv2/features/comment/repositories.rs#L8
warning: use of deprecated struct `appv2::features::profile::services::ConverUserToProfile`: use repository --> src/appv2/features/comment/repositories.rs:8:48 | 8 | services::{conver_user_to_profile, ConverUserToProfile}, | ^^^^^^^^^^^^^^^^^^^
use of deprecated function `appv2::features::profile::services::conver_user_to_profile`: use repository: src/appv2/features/comment/repositories.rs#L8
warning: use of deprecated function `appv2::features::profile::services::conver_user_to_profile`: use repository --> src/appv2/features/comment/repositories.rs:8:24 | 8 | services::{conver_user_to_profile, ConverUserToProfile}, | ^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(deprecated)]` on by default
unused import: `uuid::Uuid`: src/appv2/features/favorite/usecases.rs#L10
warning: unused import: `uuid::Uuid` --> src/appv2/features/favorite/usecases.rs:10:5 | 10 | use uuid::Uuid; | ^^^^^^^^^^
unused imports: `ArticleRepository`, `FetchArticleRepositoryInput`: src/appv2/features/comment/usecases.rs#L2
warning: unused imports: `ArticleRepository`, `FetchArticleRepositoryInput` --> src/appv2/features/comment/usecases.rs:2:5 | 2 | ArticleRepository, FetchArticleRepositoryInput, | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `diesel::pg::PgConnection`: src/appv2/features/article/repositories.rs#L312
warning: unused import: `diesel::pg::PgConnection` --> src/appv2/features/article/repositories.rs:312:13 | 312 | use diesel::pg::PgConnection; | ^^^^^^^^^^^^^^^^^^^^^^^^
the item `PgConnection` is imported redundantly: src/appv2/features/article/repositories.rs#L312
warning: the item `PgConnection` is imported redundantly --> src/appv2/features/article/repositories.rs:312:13 | 8 | use diesel::PgConnection; | -------------------- the item `PgConnection` is already imported here ... 312 | use diesel::pg::PgConnection; | ^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `tags`: src/appv2/features/article/repositories.rs#L311
warning: unused import: `tags` --> src/appv2/features/article/repositories.rs:311:39 | 311 | use crate::schema::{articles, tags, users}; | ^^^^
unused import: `crate::error::AppError`: src/appv2/features/article/repositories.rs#L308
warning: unused import: `crate::error::AppError` --> src/appv2/features/article/repositories.rs:308:13 | 308 | use crate::error::AppError; | ^^^^^^^^^^^^^^^^^^^^^^
the item `AppError` is imported redundantly: src/appv2/features/article/repositories.rs#L308
warning: the item `AppError` is imported redundantly --> src/appv2/features/article/repositories.rs:308:13 | 6 | use crate::error::AppError; | ---------------------- the item `AppError` is already imported here ... 308 | use crate::error::AppError; | ^^^^^^^^^^^^^^^^^^^^^^
the item `User` is imported redundantly: src/appv2/features/article/repositories.rs#L307
warning: the item `User` is imported redundantly --> src/appv2/features/article/repositories.rs:307:13 | 5 | use crate::appv2::features::user::entities::User; | -------------------------------------------- the item `User` is already imported here ... 307 | use crate::appv2::features::user::entities::User; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
the item `Tag` is imported redundantly: src/appv2/features/article/repositories.rs#L306
warning: the item `Tag` is imported redundantly --> src/appv2/features/article/repositories.rs:306:13 | 4 | use crate::appv2::features::tag::entities::{CreateTag, Tag}; | --- the item `Tag` is already imported here ... 306 | use crate::appv2::features::tag::entities::Tag; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
the item `Profile` is imported redundantly: src/appv2/features/article/repositories.rs#L305
warning: the item `Profile` is imported redundantly --> src/appv2/features/article/repositories.rs:305:13 | 3 | use crate::appv2::features::profile::entities::Profile; | -------------------------------------------------- the item `Profile` is already imported here ... 305 | use crate::appv2::features::profile::entities::Profile; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
the item `FavoriteInfo` is imported redundantly: src/appv2/features/article/repositories.rs#L303
warning: the item `FavoriteInfo` is imported redundantly --> src/appv2/features/article/repositories.rs:303:68 | 2 | use crate::appv2::features::favorite::entities::FavoriteInfo; | -------------------------------------------------------- the item `FavoriteInfo` is already imported here ... 303 | use crate::appv2::features::favorite::entities::{Favorite, FavoriteInfo}; | ^^^^^^^^^^^^
unused import: `Favorite`: src/appv2/features/article/repositories.rs#L303
warning: unused import: `Favorite` --> src/appv2/features/article/repositories.rs:303:58 | 303 | use crate::appv2::features::favorite::entities::{Favorite, FavoriteInfo}; | ^^^^^^^^
the item `Article` is imported redundantly: src/appv2/features/article/repositories.rs#L302
warning: the item `Article` is imported redundantly --> src/appv2/features/article/repositories.rs:302:13 | 1 | use super::entities::{Article, CreateArticle, DeleteArticle, UpdateArticle}; | ------- the item `Article` is already imported here ... 302 | use crate::appv2::features::article::entities::Article; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `diesel::prelude::*`: src/appv2/features/article/repositories.rs#L36
warning: unused import: `diesel::prelude::*` --> src/appv2/features/article/repositories.rs:36:13 | 36 | use diesel::prelude::*; | ^^^^^^^^^^^^^^^^^^
unused import: `diesel::pg::PgConnection`: src/appv2/features/article/repositories.rs#L34
warning: unused import: `diesel::pg::PgConnection` --> src/appv2/features/article/repositories.rs:34:13 | 34 | use diesel::pg::PgConnection; | ^^^^^^^^^^^^^^^^^^^^^^^^
the item `PgConnection` is imported redundantly: src/appv2/features/article/repositories.rs#L34
warning: the item `PgConnection` is imported redundantly --> src/appv2/features/article/repositories.rs:34:13 | 8 | use diesel::PgConnection; | -------------------- the item `PgConnection` is already imported here ... 34 | use diesel::pg::PgConnection; | ^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `crate::schema::articles::dsl::*`: src/appv2/features/article/repositories.rs#L32
warning: unused import: `crate::schema::articles::dsl::*` --> src/appv2/features/article/repositories.rs:32:13 | 32 | use crate::schema::articles::dsl::*; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `crate::error::AppError`: src/appv2/features/article/repositories.rs#L31
warning: unused import: `crate::error::AppError` --> src/appv2/features/article/repositories.rs:31:13 | 31 | use crate::error::AppError; | ^^^^^^^^^^^^^^^^^^^^^^
the item `AppError` is imported redundantly: src/appv2/features/article/repositories.rs#L31
warning: the item `AppError` is imported redundantly --> src/appv2/features/article/repositories.rs:31:13 | 6 | use crate::error::AppError; | ---------------------- the item `AppError` is already imported here ... 31 | use crate::error::AppError; | ^^^^^^^^^^^^^^^^^^^^^^
the item `User` is imported redundantly: src/appv2/features/article/repositories.rs#L30
warning: the item `User` is imported redundantly --> src/appv2/features/article/repositories.rs:30:13 | 5 | use crate::appv2::features::user::entities::User; | -------------------------------------------- the item `User` is already imported here ... 30 | use crate::appv2::features::user::entities::User; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
the item `Tag` is imported redundantly: src/appv2/features/article/repositories.rs#L29
warning: the item `Tag` is imported redundantly --> src/appv2/features/article/repositories.rs:29:13 | 4 | use crate::appv2::features::tag::entities::{CreateTag, Tag}; | --- the item `Tag` is already imported here ... 29 | use crate::appv2::features::tag::entities::Tag; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
the item `Profile` is imported redundantly: src/appv2/features/article/repositories.rs#L28
warning: the item `Profile` is imported redundantly --> src/appv2/features/article/repositories.rs:28:13 | 3 | use crate::appv2::features::profile::entities::Profile; | -------------------------------------------------- the item `Profile` is already imported here ... 28 | use crate::appv2::features::profile::entities::Profile; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `crate::appv2::features::follow::entities::Follow`: src/appv2/features/article/repositories.rs#L27
warning: unused import: `crate::appv2::features::follow::entities::Follow` --> src/appv2/features/article/repositories.rs:27:13 | 27 | use crate::appv2::features::follow::entities::Follow; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
the item `FavoriteInfo` is imported redundantly: src/appv2/features/article/repositories.rs#L26
warning: the item `FavoriteInfo` is imported redundantly --> src/appv2/features/article/repositories.rs:26:68 | 2 | use crate::appv2::features::favorite::entities::FavoriteInfo; | -------------------------------------------------------- the item `FavoriteInfo` is already imported here ... 26 | use crate::appv2::features::favorite::entities::{Favorite, FavoriteInfo}; | ^^^^^^^^^^^^
the item `Article` is imported redundantly: src/appv2/features/article/repositories.rs#L25
warning: the item `Article` is imported redundantly --> src/appv2/features/article/repositories.rs:25:13 | 1 | use super::entities::{Article, CreateArticle, DeleteArticle, UpdateArticle}; | ------- the item `Article` is already imported here ... 25 | use crate::appv2::features::article::entities::Article; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unused import: `HttpResponse`: src/appv2/features/article/controllers.rs#L14
warning: unused import: `HttpResponse` --> src/appv2/features/article/controllers.rs:14:35 | 14 | use actix_web::{web, HttpRequest, HttpResponse}; | ^^^^^^^^^^^^
unused imports: `Article`, `DeleteArticle`, `MultipleArticlesResponse`, `SingleArticleResponse`, `repositories::FetchFollowingArticlesRepositoryInput`: src/appv2/features/article/controllers.rs#L2
warning: unused imports: `Article`, `DeleteArticle`, `MultipleArticlesResponse`, `SingleArticleResponse`, `repositories::FetchFollowingArticlesRepositoryInput` --> src/appv2/features/article/controllers.rs:2:16 | 2 | entities::{Article, DeleteArticle}, | ^^^^^^^ ^^^^^^^^^^^^^ 3 | presenters::{MultipleArticlesResponse, SingleArticleResponse}, | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ 4 | repositories::FetchFollowingArticlesRepositoryInput, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
clippy_check
Node.js 12 actions are deprecated. Please update the following actions to use Node.js 16: actions-rs/clippy-check@v1. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.
test_unit
Node.js 12 actions are deprecated. Please update the following actions to use Node.js 16: actions/checkout@v2. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.
test_e2e
Node.js 12 actions are deprecated. Please update the following actions to use Node.js 16: actions/checkout@v2. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.