Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rustfix automatic fixes fail due to using wrong import for custom derive macro #6398

Closed
jimmycuadra opened this issue Dec 8, 2018 · 2 comments

Comments

@jimmycuadra
Copy link
Contributor

Problem

rustfix (via cargo fix) fails to apply automatic updates on one of my crates. It incorrectly changes serde's Deserialize and Serialize custom derives from:

#[derive(Deserialize, Serialize)]

to:

#[derive(crate::Deserialize, Serialize)]

when it should be:

#[derive(serde_json::Deserialize, serde_json::Serialize)]

Changing it to the latter results in the crate compiling along with rustfix's changes.

Steps

  1. Check out ruma-events at commit 6240c25.
  2. Run cargo fix --edition.
  3. See output:
$ cargo fix --edition
    Checking ruma-events v0.11.0 (/ruma-events)
warning: failed to automatically apply fixes suggested by rustc to crate `ruma_events`

after fixes were automatically applied the compiler reported errors within these files:

  * src/macros.rs

This likely indicates a bug in either rustc or cargo itself,
and we would appreciate a bug report! You're likely to see
a number of compiler warnings after this message which cargo
attempted to fix but failed. If you could open an issue at
https://github.com/rust-lang/cargo/issues
quoting the full output of this command we'd be very appreciative!

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/macros.rs:81:32
   |
81 |         #[derive(Clone, Debug, Deserialize, Serialize)]
   |                                ^^^^^^^^^^^ help: use `crate`: `crate::Deserialize`
   |
note: lint level defined here
  --> src/lib.rs:101:9
   |
101| #![deny(warnings)]
   |         ^^^^^^^^
   = note: #[warn(absolute_paths_not_starting_with_crate)] implied by #[warn(warnings)]
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/macros.rs:81:32
   |
81 |         #[derive(Clone, Debug, Deserialize, Serialize)]
   |                                ^^^^^^^^^^^ help: use `crate`: `crate::Deserialize`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/all.rs:4:5
  |
4 | use call::answer::AnswerEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::answer::AnswerEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/all.rs:5:5
  |
5 | use call::candidates::CandidatesEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::candidates::CandidatesEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/all.rs:6:5
  |
6 | use call::hangup::HangupEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::hangup::HangupEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/all.rs:7:5
  |
7 | use call::invite::InviteEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::invite::InviteEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/all.rs:8:5
  |
8 | use direct::DirectEvent;
  |     ^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::direct::DirectEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/all.rs:9:5
  |
9 | use presence::PresenceEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::presence::PresenceEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:10:5
   |
10 | use receipt::ReceiptEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::receipt::ReceiptEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:11:5
   |
11 | use room::aliases::AliasesEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::aliases::AliasesEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:12:5
   |
12 | use room::avatar::AvatarEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::avatar::AvatarEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:13:5
   |
13 | use room::canonical_alias::CanonicalAliasEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::canonical_alias::CanonicalAliasEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:14:5
   |
14 | use room::create::CreateEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::create::CreateEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:15:5
   |
15 | use room::guest_access::GuestAccessEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::guest_access::GuestAccessEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:16:5
   |
16 | use room::history_visibility::HistoryVisibilityEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::history_visibility::HistoryVisibilityEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:17:5
   |
17 | use room::join_rules::JoinRulesEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::join_rules::JoinRulesEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:18:5
   |
18 | use room::member::MemberEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::member::MemberEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:19:5
   |
19 | use room::message::MessageEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::message::MessageEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:20:5
   |
20 | use room::name::NameEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::name::NameEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:21:5
   |
21 | use room::pinned_events::PinnedEventsEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::pinned_events::PinnedEventsEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:22:5
   |
22 | use room::power_levels::PowerLevelsEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::power_levels::PowerLevelsEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:23:5
   |
23 | use room::redaction::RedactionEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::redaction::RedactionEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:24:5
   |
24 | use room::third_party_invite::ThirdPartyInviteEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::third_party_invite::ThirdPartyInviteEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:25:5
   |
25 | use room::topic::TopicEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::topic::TopicEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:26:5
   |
26 | use tag::TagEvent;
   |     ^^^^^^^^^^^^^ help: use `crate`: `crate::tag::TagEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:27:5
   |
27 | use typing::TypingEvent;
   |     ^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::typing::TypingEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:28:5
   |
28 | use {CustomEvent, CustomRoomEvent, CustomStateEvent, EventType};
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::{CustomEvent, CustomRoomEvent, CustomStateEvent, EventType}`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/only.rs:4:5
  |
4 | use call::answer::AnswerEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::answer::AnswerEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/only.rs:5:5
  |
5 | use call::candidates::CandidatesEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::candidates::CandidatesEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/only.rs:6:5
  |
6 | use call::hangup::HangupEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::hangup::HangupEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/only.rs:7:5
  |
7 | use call::invite::InviteEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::invite::InviteEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/only.rs:8:5
  |
8 | use direct::DirectEvent;
  |     ^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::direct::DirectEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/only.rs:9:5
  |
9 | use presence::PresenceEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::presence::PresenceEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/only.rs:10:5
   |
10 | use receipt::ReceiptEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::receipt::ReceiptEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/only.rs:11:5
   |
11 | use room::message::MessageEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::message::MessageEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/only.rs:12:5
   |
12 | use room::redaction::RedactionEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::redaction::RedactionEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/only.rs:13:5
   |
13 | use tag::TagEvent;
   |     ^^^^^^^^^^^^^ help: use `crate`: `crate::tag::TagEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/only.rs:14:5
   |
14 | use typing::TypingEvent;
   |     ^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::typing::TypingEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/only.rs:15:5
   |
15 | use {CustomEvent, CustomRoomEvent, EventType};
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::{CustomEvent, CustomRoomEvent, EventType}`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/macros.rs:36:32
   |
36 |         #[derive(Clone, Debug, Deserialize, Serialize)]
   |                                ^^^^^^^^^^^ help: use `crate`: `crate::Deserialize`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
   --> src/macros.rs:155:32
    |
155 |         #[derive(Clone, Debug, Deserialize, Serialize)]
    |                                ^^^^^^^^^^^ help: use `crate`: `crate::Deserialize`
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
    = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/room/member.rs:6:5
  |
6 | use stripped::StrippedState;
  |     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::stripped::StrippedState`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/room/power_levels.rs:7:5
  |
7 | use EventType;
  |     ^^^^^^^^^ help: use `crate`: `crate::EventType`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:12:5
   |
12 | use room::aliases::AliasesEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::aliases::AliasesEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:13:5
   |
13 | use room::avatar::AvatarEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::avatar::AvatarEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:14:5
   |
14 | use room::canonical_alias::CanonicalAliasEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::canonical_alias::CanonicalAliasEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:15:5
   |
15 | use room::create::CreateEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::create::CreateEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:16:5
   |
16 | use room::guest_access::GuestAccessEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::guest_access::GuestAccessEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:17:5
   |
17 | use room::history_visibility::HistoryVisibilityEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::history_visibility::HistoryVisibilityEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:18:5
   |
18 | use room::join_rules::JoinRulesEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::join_rules::JoinRulesEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:19:5
   |
19 | use room::member::MemberEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::member::MemberEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:20:5
   |
20 | use room::name::NameEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::name::NameEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:21:5
   |
21 | use room::power_levels::PowerLevelsEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::power_levels::PowerLevelsEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:22:5
   |
22 | use room::third_party_invite::ThirdPartyInviteEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::third_party_invite::ThirdPartyInviteEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:23:5
   |
23 | use room::topic::TopicEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::topic::TopicEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:24:5
   |
24 | use EventType;
   |     ^^^^^^^^^ help: use `crate`: `crate::EventType`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/macros.rs:81:32
   |
81 |         #[derive(Clone, Debug, Deserialize, Serialize)]
   |                                ^^^^^^^^^^^ help: use `crate`: `crate::Deserialize`
   |
note: lint level defined here
  --> src/lib.rs:101:9
   |
101| #![deny(warnings)]
   |         ^^^^^^^^
   = note: #[warn(absolute_paths_not_starting_with_crate)] implied by #[warn(warnings)]
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/macros.rs:81:32
   |
81 |         #[derive(Clone, Debug, Deserialize, Serialize)]
   |                                ^^^^^^^^^^^ help: use `crate`: `crate::Deserialize`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/all.rs:4:5
  |
4 | use call::answer::AnswerEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::answer::AnswerEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/all.rs:5:5
  |
5 | use call::candidates::CandidatesEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::candidates::CandidatesEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/all.rs:6:5
  |
6 | use call::hangup::HangupEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::hangup::HangupEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/all.rs:7:5
  |
7 | use call::invite::InviteEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::invite::InviteEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/all.rs:8:5
  |
8 | use direct::DirectEvent;
  |     ^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::direct::DirectEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/all.rs:9:5
  |
9 | use presence::PresenceEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::presence::PresenceEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:10:5
   |
10 | use receipt::ReceiptEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::receipt::ReceiptEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:11:5
   |
11 | use room::aliases::AliasesEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::aliases::AliasesEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:12:5
   |
12 | use room::avatar::AvatarEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::avatar::AvatarEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:13:5
   |
13 | use room::canonical_alias::CanonicalAliasEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::canonical_alias::CanonicalAliasEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:14:5
   |
14 | use room::create::CreateEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::create::CreateEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:15:5
   |
15 | use room::guest_access::GuestAccessEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::guest_access::GuestAccessEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:16:5
   |
16 | use room::history_visibility::HistoryVisibilityEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::history_visibility::HistoryVisibilityEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:17:5
   |
17 | use room::join_rules::JoinRulesEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::join_rules::JoinRulesEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:18:5
   |
18 | use room::member::MemberEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::member::MemberEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:19:5
   |
19 | use room::message::MessageEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::message::MessageEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:20:5
   |
20 | use room::name::NameEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::name::NameEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:21:5
   |
21 | use room::pinned_events::PinnedEventsEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::pinned_events::PinnedEventsEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:22:5
   |
22 | use room::power_levels::PowerLevelsEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::power_levels::PowerLevelsEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:23:5
   |
23 | use room::redaction::RedactionEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::redaction::RedactionEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:24:5
   |
24 | use room::third_party_invite::ThirdPartyInviteEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::third_party_invite::ThirdPartyInviteEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:25:5
   |
25 | use room::topic::TopicEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::topic::TopicEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:26:5
   |
26 | use tag::TagEvent;
   |     ^^^^^^^^^^^^^ help: use `crate`: `crate::tag::TagEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:27:5
   |
27 | use typing::TypingEvent;
   |     ^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::typing::TypingEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/all.rs:28:5
   |
28 | use {CustomEvent, CustomRoomEvent, CustomStateEvent, EventType};
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::{CustomEvent, CustomRoomEvent, CustomStateEvent, EventType}`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/only.rs:4:5
  |
4 | use call::answer::AnswerEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::answer::AnswerEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/only.rs:5:5
  |
5 | use call::candidates::CandidatesEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::candidates::CandidatesEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/only.rs:6:5
  |
6 | use call::hangup::HangupEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::hangup::HangupEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/only.rs:7:5
  |
7 | use call::invite::InviteEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::call::invite::InviteEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/only.rs:8:5
  |
8 | use direct::DirectEvent;
  |     ^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::direct::DirectEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/collections/only.rs:9:5
  |
9 | use presence::PresenceEvent;
  |     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::presence::PresenceEvent`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/only.rs:10:5
   |
10 | use receipt::ReceiptEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::receipt::ReceiptEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/only.rs:11:5
   |
11 | use room::message::MessageEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::message::MessageEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/only.rs:12:5
   |
12 | use room::redaction::RedactionEvent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::redaction::RedactionEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/only.rs:13:5
   |
13 | use tag::TagEvent;
   |     ^^^^^^^^^^^^^ help: use `crate`: `crate::tag::TagEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/only.rs:14:5
   |
14 | use typing::TypingEvent;
   |     ^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::typing::TypingEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/collections/only.rs:15:5
   |
15 | use {CustomEvent, CustomRoomEvent, EventType};
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::{CustomEvent, CustomRoomEvent, EventType}`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/macros.rs:36:32
   |
36 |         #[derive(Clone, Debug, Deserialize, Serialize)]
   |                                ^^^^^^^^^^^ help: use `crate`: `crate::Deserialize`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/direct.rs:26:9
   |
26 |     use collections;
   |         ^^^^^^^^^^^ help: use `crate`: `crate::collections`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/direct.rs:27:9
   |
27 |     use direct::{DirectEvent, DirectEventContent};
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::direct::{DirectEvent, DirectEventContent}`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
   --> src/macros.rs:155:32
    |
155 |         #[derive(Clone, Debug, Deserialize, Serialize)]
    |                                ^^^^^^^^^^^ help: use `crate`: `crate::Deserialize`
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
    = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/room/member.rs:6:5
  |
6 | use stripped::StrippedState;
  |     ^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::stripped::StrippedState`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/room/pinned_events.rs:22:9
   |
22 |     use room::pinned_events::{PinnedEventsContent, PinnedEventsEvent};
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::pinned_events::{PinnedEventsContent, PinnedEventsEvent}`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/room/pinned_events.rs:23:9
   |
23 |     use Event;
   |         ^^^^^ help: use `crate`: `crate::Event`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/room/pinned_events.rs:24:9
   |
24 |     use EventType;
   |         ^^^^^^^^^ help: use `crate`: `crate::EventType`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/room/pinned_events.rs:25:9
   |
25 |     use RoomEvent;
   |         ^^^^^^^^^ help: use `crate`: `crate::RoomEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/room/pinned_events.rs:26:9
   |
26 |     use StateEvent;
   |         ^^^^^^^^^^ help: use `crate`: `crate::StateEvent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
 --> src/room/power_levels.rs:7:5
  |
7 | use EventType;
  |     ^^^^^^^^^ help: use `crate`: `crate::EventType`
  |
  = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
  = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:12:5
   |
12 | use room::aliases::AliasesEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::aliases::AliasesEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:13:5
   |
13 | use room::avatar::AvatarEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::avatar::AvatarEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:14:5
   |
14 | use room::canonical_alias::CanonicalAliasEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::canonical_alias::CanonicalAliasEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:15:5
   |
15 | use room::create::CreateEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::create::CreateEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:16:5
   |
16 | use room::guest_access::GuestAccessEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::guest_access::GuestAccessEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:17:5
   |
17 | use room::history_visibility::HistoryVisibilityEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::history_visibility::HistoryVisibilityEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:18:5
   |
18 | use room::join_rules::JoinRulesEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::join_rules::JoinRulesEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:19:5
   |
19 | use room::member::MemberEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::member::MemberEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:20:5
   |
20 | use room::name::NameEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::name::NameEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:21:5
   |
21 | use room::power_levels::PowerLevelsEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::power_levels::PowerLevelsEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:22:5
   |
22 | use room::third_party_invite::ThirdPartyInviteEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::third_party_invite::ThirdPartyInviteEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:23:5
   |
23 | use room::topic::TopicEventContent;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::topic::TopicEventContent`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
  --> src/stripped.rs:24:5
   |
24 | use EventType;
   |     ^^^^^^^^^ help: use `crate`: `crate::EventType`
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
   = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
   --> src/stripped.rs:260:9
    |
260 |     use room::join_rules::JoinRule;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::join_rules::JoinRule`
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
    = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
   --> src/stripped.rs:261:9
    |
261 |     use room::topic::TopicEventContent;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `crate`: `crate::room::topic::TopicEventContent`
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
    = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

warning: absolute paths must start with `self`, `super`, `crate`, or an external crate name in the 2018 edition
   --> src/stripped.rs:263:9
    |
263 |     use EventType;
    |         ^^^^^^^^^ help: use `crate`: `crate::EventType`
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2018 edition!
    = note: for more information, see issue #53130 <https://github.com/rust-lang/rust/issues/53130>

    Finished dev [unoptimized + debuginfo] target(s) in 6.33s

Notes

Output of cargo version: cargo 1.32.0-nightly (5e85ba1 2018-12-02)
OS: macOS 10.14.1

According to the reply to this comment by killercup this might be more appropriate in rust-lang/rust, but I'm being conservative and filing it here since this is what the cargo output suggests.

@ehuss
Copy link
Contributor

ehuss commented Dec 8, 2018

Here is the most minimal reproduction I can come up with:

#![warn(rust_2018_compatibility)]
extern crate serde;
#[macro_use]
extern crate serde_derive;

use serde::{Deserialize, Deserializer};

macro_rules! event {
    (
        pub struct $name:ident() {}
    ) => {
        #[derive(Deserialize)]
        pub struct $name {
            pub event_type: $crate::EventType,
        }
    }
}

pub enum EventType {}

event! {
    pub struct CustomEvent() {}
}

impl<'de> Deserialize<'de> for EventType {
    fn deserialize<D>(_deserializer: D) -> Result<Self, D::Error>
    where
        D: Deserializer<'de>,
    {
        unimplemented!()
    }
}

It seems that $crate in serde_derive is confusing things somehow. cc rust-lang/rust#56622 which seems sort-of related, maybe @dtolnay has some insight?

@alexcrichton
Copy link
Member

Thanks for the report @jimmycuadra and the reduction @ehuss! I've moved this over to rust-lang/rust#56683

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants