rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
98.81k stars 12.77k forks source link

entry id not found when using copy and serde_derive #37795

Closed xrl closed 8 years ago

xrl commented 8 years ago

My cargo build is failing with a panic, directing me here to post information.

I tried this code:

guid.rs:

pub type GuidPrefix = [u8; 12];

#[derive(Default, Debug, PartialEq, Copy, Clone)]
pub struct Guid {
    pub guid_prefix: GuidPrefix,
    pub entity_id: EntityId
}

impl Guid {
    pub fn new() -> Self {
        Guid {
            guid_prefix: [0; 12],
            entity_id: EntityId {
                entity_key: [0; 3],
                entity_kind: EntityKind::UserUnknown
            }
        }
    }
}

entity_id.rs:

#[derive(Default, Debug, PartialEq, Copy, Clone, Deserialize, Serialize)]
pub struct EntityId {
    pub entity_key: [u8; 3],
    pub entity_kind: EntityKind,
}

I expected to see this happen: no panics

Instead, this happened: panic

Meta

rustc --version --verbose:

$ rustc --version --verbose
rustc 1.15.0-nightly (0ed951993 2016-11-14)
binary: rustc
commit-hash: 0ed951993fb5721a303ca5fa743543dd9f3f6b10
commit-date: 2016-11-14
host: x86_64-apple-darwin
release: 1.15.0-nightly
LLVM version: 3.9

Backtrace:

LP-XLANGE-OSX:rtps xlange$ RUST_BACKTRACE=1 cargo build
   Compiling rtps v0.2.4 (file:///Users/xlange/code/rust/rtps)
error[E0428]: a value named `_IMPL_SERIALIZE_FOR_EntityId` has already been defined in this module
  --> src/common_types/entity_id.rs:66:63
   |
66 | #[derive(Default, Debug, PartialEq, Copy, Clone, Deserialize, Serialize)]
   |                                                  -----------  ^^^^^^^^^ already defined
   |                                                  |
   |                                                  previous definition of `_IMPL_SERIALIZE_FOR_EntityId` here

error[E0428]: a type named `EntityId` has already been defined in this module
  --> src/common_types/entity_id.rs:67:1
   |
66 | #[derive(Default, Debug, PartialEq, Copy, Clone, Deserialize, Serialize)]
   |                                                               --------- previous definition of `EntityId` here
67 | pub struct EntityId {
   | ^ already defined

error[E0428]: a value named `_IMPL_SERIALIZE_FOR_FragmentNumberSet` has already been defined in this module
 --> src/common_types/fragment_number.rs:3:38
  |
3 | #[derive(PartialEq,Debug,Deserialize,Serialize,Copy,Clone)]
  |                          ----------- ^^^^^^^^^ already defined
  |                          |
  |                          previous definition of `_IMPL_SERIALIZE_FOR_FragmentNumberSet` here

error[E0428]: a type named `FragmentNumberSet` has already been defined in this module
 --> src/common_types/fragment_number.rs:4:1
  |
3 | #[derive(PartialEq,Debug,Deserialize,Serialize,Copy,Clone)]
  |                                      --------- previous definition of `FragmentNumberSet` here
4 | pub struct FragmentNumberSet {
  | ^ already defined

error[E0428]: a type named `ArcBuffer` has already been defined in this module
 --> src/common_types/rc_buffer.rs:7:1
  |
6 | #[derive(Debug, Clone, PartialEq, Serialize)]
  |                                   --------- previous definition of `ArcBuffer` here
7 | pub struct ArcBuffer {
  | ^ already defined

error[E0428]: a value named `_IMPL_DESERIALIZE_FOR_SequenceNumberSet` has already been defined in this module
 --> src/common_types/sequence_number.rs:7:36
  |
7 | #[derive(PartialEq,Debug,Serialize,Deserialize,Copy,Clone,Default)]
  |                          --------- ^^^^^^^^^^^ already defined
  |                          |
  |                          previous definition of `_IMPL_DESERIALIZE_FOR_SequenceNumberSet` here

error[E0428]: a type named `SequenceNumberSet` has already been defined in this module
  --> src/common_types/sequence_number.rs:8:1
   |
7  | #[derive(PartialEq,Debug,Serialize,Deserialize,Copy,Clone,Default)]
   |                                    ----------- previous definition of `SequenceNumberSet` here
8  | pub struct SequenceNumberSet {
   | ^ already defined

error[E0428]: a value named `_IMPL_SERIALIZE_FOR_Timestamp` has already been defined in this module
 --> src/common_types/timestamp.rs:1:38
  |
1 | #[derive(PartialEq,Debug,Deserialize,Serialize,Clone,Copy)]
  |                          ----------- ^^^^^^^^^ already defined
  |                          |
  |                          previous definition of `_IMPL_SERIALIZE_FOR_Timestamp` here

error[E0428]: a type named `Timestamp` has already been defined in this module
 --> src/common_types/timestamp.rs:2:1
  |
1 | #[derive(PartialEq,Debug,Deserialize,Serialize,Clone,Copy)]
  |                                      --------- previous definition of `Timestamp` here
2 | pub struct Timestamp {
  | ^ already defined

error[E0428]: a type named `Message` has already been defined in this module
  --> src/message/mod.rs:10:1
   |
9  | #[derive(Deserialize,Debug,PartialEq)]
   |          ----------- previous definition of `Message` here
10 | pub struct Message {
   | ^ already defined

error[E0428]: a type named `Submessage` has already been defined in this module
 --> src/submessage.rs:7:1
  |
6 | #[derive(Deserialize, Debug, PartialEq)]
  |          ----------- previous definition of `Submessage` here
7 | pub struct Submessage {
  | ^ already defined

error[E0432]: unresolved import `super::super::super::sync::Monitor`
 --> src/entity/traits/history_cache_trait.rs:4:5
  |
4 | use super::super::super::sync::Monitor;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `Monitor` in `sync`

error[E0432]: unresolved import `super::super::super::sync::Monitor`
  --> src/entity/reader/stateless_reader.rs:14:5
   |
14 | use super::super::super::sync::Monitor;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `Monitor` in `sync`

error[E0204]: the trait `Copy` may not be implemented for this type
 --> src/common_types/guid.rs:5:37
  |
5 | #[derive(Default, Debug, PartialEq, Copy, Clone)]
  |                                     ^^^^ field `entity_id` does not implement `Copy`

error: internal compiler error: ../src/librustc_metadata/decoder.rs:490: entry: id not found: DefIndex(1) in crate "serde_derive" with number 13

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: run with `RUST_BACKTRACE=1` for a backtrace

thread 'rustc' panicked at 'Box<Any>', ../src/librustc_errors/lib.rs:424
stack backtrace:
   1:        0x10553f4ea - std::sys::imp::backtrace::tracing::imp::write::h944c02ac40aee2d7
   2:        0x10554c77f - std::panicking::default_hook::{{closure}}::h6875a2976258b020
   3:        0x10554c32d - std::panicking::default_hook::h88ffbc5922643264
   4:        0x10554cc46 - std::panicking::rust_panic_with_hook::ha5aed1dfc0e220e3
   5:        0x102cd4f2a - std::panicking::begin_panic::h264cdc75d51b518b
   6:        0x102ce5d34 - rustc_errors::Handler::bug::h620f7270292f0095
   7:        0x102040ecc - rustc::session::opt_span_bug_fmt::{{closure}}::h4a9b70c3df8b4b3a
   8:        0x102040cd9 - rustc::session::opt_span_bug_fmt::h7d83586c6e2c7ae6
   9:        0x10204085a - rustc::session::bug_fmt::he2d2f00a4afa9d1e
  10:        0x101578b73 - rustc_metadata::decoder::<impl rustc_metadata::cstore::CrateMetadata>::entry::h5e3d8114267e9116
  11:        0x1015814ab - rustc_metadata::cstore_impl::<impl rustc::middle::cstore::CrateStore<'tcx> for rustc_metadata::cstore::CStore>::visibility::h2949b511f18961ee
  12:        0x101589f66 - rustc_metadata::cstore_impl::<impl rustc::middle::cstore::CrateStore<'tcx> for rustc_metadata::cstore::CStore>::visible_parent_map::hab53861eb74bce8d
  13:        0x10208a1c4 - rustc::ty::item_path::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::push_item_path::haa7f7a9afda5f72a
  14:        0x1020d62d5 - rustc::util::ppaux::parameterized::h7bcfb1fd3d8a947a
  15:        0x105590cb5 - core::fmt::write::h01739b8f12f355f9
  16:        0x102072c4c - rustc::traits::specialize::specialization_graph::Graph::insert::h62250bf0632d4218
  17:        0x1020a6d12 - rustc::ty::trait_def::TraitDef::add_impl_for_specialization::h39896639aba068c7
  18:        0x101371b67 - <rustc_typeck::coherence::overlap::OverlapChecker<'cx, 'tcx> as rustc::hir::intravisit::Visitor<'v>>::visit_item::h5ba64bfdace3da91
  19:        0x10137aaab - rustc_typeck::coherence::check_coherence::h7b433ad2f4520d1a
  20:        0x1013816a1 - rustc_typeck::check_crate::h4045752b69a796e8
  21:        0x100e1e1ac - rustc_driver::driver::phase_3_run_analysis_passes::{{closure}}::h97a3a12d948df547
  22:        0x100e1b37d - rustc_driver::driver::phase_3_run_analysis_passes::hb0ad9de18d423e67
  23:        0x100e02bc5 - rustc_driver::driver::compile_input::h8e119234b60571d5
  24:        0x100e48229 - rustc_driver::run_compiler::hbdfc4f84e2e0f4b9
  25:        0x100d67988 - std::panicking::try::do_call::hf679f17bf3b43b0b
  26:        0x10554f1fa - __rust_maybe_catch_panic
  27:        0x100d8baaf - <F as alloc::boxed::FnBox<A>>::call_box::h506fb5d7b8891cd4
  28:        0x10554b8d4 - std::sys::imp::thread::Thread::new::thread_start::h8084b1107992ae5b
  29:     0x7fff9169c99c - _pthread_body
  30:     0x7fff9169c919 - _pthread_start

error: Could not compile `rtps`.
TimNN commented 8 years ago

I think this could be #37788, in which case it should be fixed by #37793.

sunjay commented 8 years ago

I think I'm getting the same error. The fix was merged 15 minutes ago. Is there a way to get this working or do I need to wait for the nightly build? (Is it actually built every night?)

This is my code:

#![feature(proc_macro)]

#[macro_use]
extern crate serde_derive;

extern crate serde;
extern crate serde_json;
extern crate rustc_serialize;

extern crate image;

use std::io::BufRead;

#[derive(Debug, PartialEq, Serialize, Deserialize)]
enum Action {
    Undo,
    Redo,
    Crop {x: u32, y: u32, width: u32, height: u32},
    FlipHorizontal,
    FlipVertical,
    Resize {width: u32, height: u32},
}

This is the full error with stacktrace:

error[E0428]: a value named `_IMPL_DESERIALIZE_FOR_Action` has already been defined in this module
  --> src/main.rs:14:39
   |
14 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
   |                            ---------  ^^^^^^^^^^^ already defined
   |                            |
   |                            previous definition of `_IMPL_DESERIALIZE_FOR_Action` here

error[E0428]: a type named `Action` has already been defined in this module
  --> src/main.rs:15:1
   |
14 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
   |                                       ----------- previous definition of `Action` here
15 | enum Action {
   | ^ already defined

error: internal compiler error: ../src/librustc_metadata/decoder.rs:490: entry: id not found: DefIndex(1) in crate "serde_derive" with number 12

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: run with `RUST_BACKTRACE=1` for a backtrace

thread 'rustc' panicked at 'Box<Any>', ../src/librustc_errors/lib.rs:424
stack backtrace:
   1:     0x7fe76b6a717a - std::sys::imp::backtrace::tracing::imp::write::h944c02ac40aee2d7
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:42
   2:     0x7fe76b6b601f - std::panicking::default_hook::{{closure}}::h6875a2976258b020
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:247
   3:     0x7fe76b6b5bbd - std::panicking::default_hook::h88ffbc5922643264
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:257
   4:     0x7fe76b6b64c7 - std::panicking::rust_panic_with_hook::ha5aed1dfc0e220e3
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:451
   5:     0x7fe76419555a - std::panicking::begin_panic::h264cdc75d51b518b
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:413
   6:     0x7fe7641a611d - rustc_errors::Handler::bug::h620f7270292f0095
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_errors/lib.rs:424
   7:     0x7fe768a73f21 - rustc::session::opt_span_bug_fmt::{{closure}}::h4a9b70c3df8b4b3a
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/session/mod.rs:771
   8:     0x7fe768a73d3e - rustc::session::opt_span_bug_fmt::h7d83586c6e2c7ae6
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1048
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/session/mod.rs:767
   9:     0x7fe768a739a2 - rustc::session::bug_fmt::he2d2f00a4afa9d1e
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/session/mod.rs:751
  10:     0x7fe7693b9c63 - rustc_metadata::decoder::<impl rustc_metadata::cstore::CrateMetadata>::entry::h5e3d8114267e9116
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_metadata/decoder.rs:490
  11:     0x7fe7693c217b - rustc_metadata::cstore_impl::<impl rustc::middle::cstore::CrateStore<'tcx> for rustc_metadata::cstore::CStore>::visibility::h2949b511f18961ee
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_metadata/decoder.rs:654
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_metadata/cstore_impl.rs:58
  12:     0x7fe7693ca5c0 - rustc_metadata::cstore_impl::<impl rustc::middle::cstore::CrateStore<'tcx> for rustc_metadata::cstore::CStore>::visible_parent_map::hab53861eb74bce8d
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_metadata/cstore_impl.rs:597
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_metadata/cstore_impl.rs:622
  13:     0x7fe768ab9634 - rustc::ty::item_path::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::push_item_path::haa7f7a9afda5f72a
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/item_path.rs:115
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/item_path.rs:152
  14:     0x7fe768b006e3 - rustc::util::ppaux::parameterized::h7bcfb1fd3d8a947a
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/item_path.rs:49
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/util/ppaux.rs:154
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1035
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/thread/local.rs:245
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1031
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/util/ppaux.rs:82
  15:     0x7fe76b708635 - core::fmt::write::h01739b8f12f355f9
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libcore/fmt/mod.rs:829
  16:     0x7fe768aa35dd - rustc::traits::specialize::specialization_graph::Graph::insert::h62250bf0632d4218
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libcore/fmt/mod.rs:130
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libcollections/string.rs:1826
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/traits/specialize/specialization_graph.rs:125
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/infer/mod.rs:523
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1019
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/thread/local.rs:245
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1016
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:853
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/infer/mod.rs:523
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/traits/specialize/specialization_graph.rs:111
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/traits/specialize/specialization_graph.rs:224
  17:     0x7fe768ad33c2 - rustc::ty::trait_def::TraitDef::add_impl_for_specialization::h39896639aba068c7
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/trait_def.rs:202
  18:     0x7fe769bb40b7 - <rustc_typeck::coherence::overlap::OverlapChecker<'cx, 'tcx> as rustc::hir::intravisit::Visitor<'v>>::visit_item::h5ba64bfdace3da91
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_typeck/coherence/overlap.rs:143
  19:     0x7fe769bbd07b - rustc_typeck::coherence::check_coherence::h7b433ad2f4520d1a
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/dep_graph/visit.rs:46
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/hir/mod.rs:445
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/dep_graph/visit.rs:57
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/mod.rs:2703
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_typeck/coherence/overlap.rs:33
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_typeck/coherence/mod.rs:529
  20:     0x7fe769bc3cc5 - rustc_typeck::check_crate::h4045752b69a796e8
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_typeck/lib.rs:338
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/util/common.rs:38
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_typeck/lib.rs:337
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/session/mod.rs:222
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_typeck/lib.rs:336
  21:     0x7fe76ba50bee - rustc_driver::driver::phase_3_run_analysis_passes::{{closure}}::h97a3a12d948df547
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/driver.rs:891
  22:     0x7fe76ba4de8d - rustc_driver::driver::phase_3_run_analysis_passes::hb0ad9de18d423e67
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1019
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/thread/local.rs:245
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1016
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1003
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/thread/local.rs:245
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1000
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:789
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/driver.rs:869
  23:     0x7fe76ba35614 - rustc_driver::driver::compile_input::h8e119234b60571d5
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/driver.rs:173
  24:     0x7fe76ba7ab30 - rustc_driver::run_compiler::hbdfc4f84e2e0f4b9
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/lib.rs:222
  25:     0x7fe76b996858 - std::panicking::try::do_call::hf679f17bf3b43b0b
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/lib.rs:1141
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/lib.rs:138
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/lib.rs:1075
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panic.rs:295
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:356
  26:     0x7fe76b6c0a0a - __rust_maybe_catch_panic
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libpanic_unwind/lib.rs:97
  27:     0x7fe76b9ba3e8 - <F as alloc::boxed::FnBox<A>>::call_box::h506fb5d7b8891cd4
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:332
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panic.rs:351
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/thread/mod.rs:287
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/liballoc/boxed.rs:595
  28:     0x7fe76b6b4e94 - std::sys::imp::thread::Thread::new::thread_start::h8084b1107992ae5b
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/liballoc/boxed.rs:605
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/sys_common/thread.rs:21
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/sys/unix/thread.rs:84
  29:     0x7fe763941709 - start_thread
  30:     0x7fe76b36f82c - clone
  31:                0x0 - <unknown>

error: Could not compile `image-worker`.

To learn more, run the command again with --verbose.

Version info:

$ rustc --version --verbose
rustc 1.15.0-nightly (43006fcea 2016-11-15)
binary: rustc
commit-hash: 43006fcea0066a935b657fff9ccef56983cbf56c
commit-date: 2016-11-15
host: x86_64-unknown-linux-gnu
release: 1.15.0-nightly
LLVM version: 3.9
jseyfried commented 8 years ago

Fixed in #37793.

sunjay commented 8 years ago

@jseyfried I'm still getting the same error in the latest nightly. Is this a separate issue? Did that not get put into the latest nightly?

With the same code as in my comment above:

error[E0428]: a value named `_IMPL_DESERIALIZE_FOR_Action` has already been defined in this module
  --> src/main.rs:15:39
   |
15 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
   |                            ---------  ^^^^^^^^^^^ already defined
   |                            |
   |                            previous definition of `_IMPL_DESERIALIZE_FOR_Action` here

error[E0428]: a type named `Action` has already been defined in this module
  --> src/main.rs:16:1
   |
15 | #[derive(Debug, PartialEq, Serialize, Deserialize)]
   |                                       ----------- previous definition of `Action` here
16 | enum Action {
   | ^ already defined

error: internal compiler error: ../src/librustc_metadata/decoder.rs:490: entry: id not found: DefIndex(1) in crate "serde_derive" with number 12

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: run with `RUST_BACKTRACE=1` for a backtrace

thread 'rustc' panicked at 'Box<Any>', ../src/librustc_errors/lib.rs:424
stack backtrace:
   1:     0x7f80fa72b17a - std::sys::imp::backtrace::tracing::imp::write::h944c02ac40aee2d7
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:42
   2:     0x7f80fa73a01f - std::panicking::default_hook::{{closure}}::h6875a2976258b020
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:247
   3:     0x7f80fa739bbd - std::panicking::default_hook::h88ffbc5922643264
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:257
   4:     0x7f80fa73a4c7 - std::panicking::rust_panic_with_hook::ha5aed1dfc0e220e3
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:451
   5:     0x7f80f321955a - std::panicking::begin_panic::h264cdc75d51b518b
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:413
   6:     0x7f80f322a11d - rustc_errors::Handler::bug::h620f7270292f0095
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_errors/lib.rs:424
   7:     0x7f80f7af8f21 - rustc::session::opt_span_bug_fmt::{{closure}}::h4a9b70c3df8b4b3a
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/session/mod.rs:771
   8:     0x7f80f7af8d3e - rustc::session::opt_span_bug_fmt::h7d83586c6e2c7ae6
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1048
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/session/mod.rs:767
   9:     0x7f80f7af89a2 - rustc::session::bug_fmt::he2d2f00a4afa9d1e
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/session/mod.rs:751
  10:     0x7f80f843f1f3 - rustc_metadata::decoder::<impl rustc_metadata::cstore::CrateMetadata>::entry::h5e3d8114267e9116
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_metadata/decoder.rs:490
  11:     0x7f80f844780b - rustc_metadata::cstore_impl::<impl rustc::middle::cstore::CrateStore<'tcx> for rustc_metadata::cstore::CStore>::visibility::h2949b511f18961ee
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_metadata/decoder.rs:654
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_metadata/cstore_impl.rs:58
  12:     0x7f80f844fc80 - rustc_metadata::cstore_impl::<impl rustc::middle::cstore::CrateStore<'tcx> for rustc_metadata::cstore::CStore>::visible_parent_map::hab53861eb74bce8d
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_metadata/cstore_impl.rs:597
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_metadata/cstore_impl.rs:622
  13:     0x7f80f7b3e634 - rustc::ty::item_path::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::push_item_path::haa7f7a9afda5f72a
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/item_path.rs:115
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/item_path.rs:152
  14:     0x7f80f7b856e3 - rustc::util::ppaux::parameterized::h7bcfb1fd3d8a947a
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/item_path.rs:49
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/util/ppaux.rs:154
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1035
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/thread/local.rs:245
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1031
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/util/ppaux.rs:82
  15:     0x7f80fa78c635 - core::fmt::write::h01739b8f12f355f9
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libcore/fmt/mod.rs:829
  16:     0x7f80f7b285dd - rustc::traits::specialize::specialization_graph::Graph::insert::h62250bf0632d4218
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libcore/fmt/mod.rs:130
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libcollections/string.rs:1826
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/traits/specialize/specialization_graph.rs:125
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/infer/mod.rs:523
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1019
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/thread/local.rs:245
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1016
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:853
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/infer/mod.rs:523
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/traits/specialize/specialization_graph.rs:111
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/traits/specialize/specialization_graph.rs:224
  17:     0x7f80f7b583c2 - rustc::ty::trait_def::TraitDef::add_impl_for_specialization::h39896639aba068c7
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/trait_def.rs:202
  18:     0x7f80f8c3a0b7 - <rustc_typeck::coherence::overlap::OverlapChecker<'cx, 'tcx> as rustc::hir::intravisit::Visitor<'v>>::visit_item::h5ba64bfdace3da91
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_typeck/coherence/overlap.rs:143
  19:     0x7f80f8c4307b - rustc_typeck::coherence::check_coherence::h7b433ad2f4520d1a
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/dep_graph/visit.rs:46
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/hir/mod.rs:445
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/dep_graph/visit.rs:57
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/mod.rs:2703
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_typeck/coherence/overlap.rs:33
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_typeck/coherence/mod.rs:529
  20:     0x7f80f8c49cc5 - rustc_typeck::check_crate::h4045752b69a796e8
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_typeck/lib.rs:338
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/util/common.rs:38
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_typeck/lib.rs:337
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/session/mod.rs:222
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_typeck/lib.rs:336
  21:     0x7f80faad4c1e - rustc_driver::driver::phase_3_run_analysis_passes::{{closure}}::h97a3a12d948df547
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/driver.rs:891
  22:     0x7f80faad1ebd - rustc_driver::driver::phase_3_run_analysis_passes::hb0ad9de18d423e67
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1019
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/thread/local.rs:245
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1016
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1003
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/thread/local.rs:245
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:1000
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc/ty/context.rs:789
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/driver.rs:869
  23:     0x7f80faab9644 - rustc_driver::driver::compile_input::h8e119234b60571d5
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/driver.rs:173
  24:     0x7f80faaff180 - rustc_driver::run_compiler::hbdfc4f84e2e0f4b9
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/lib.rs:222
  25:     0x7f80faa1a858 - std::panicking::try::do_call::hf679f17bf3b43b0b
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/lib.rs:1141
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/lib.rs:138
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/librustc_driver/lib.rs:1075
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panic.rs:295
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:356
  26:     0x7f80fa744a0a - __rust_maybe_catch_panic
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libpanic_unwind/lib.rs:97
  27:     0x7f80faa3e418 - <F as alloc::boxed::FnBox<A>>::call_box::h506fb5d7b8891cd4
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:332
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panic.rs:351
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/thread/mod.rs:287
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/liballoc/boxed.rs:595
  28:     0x7f80fa738e94 - std::sys::imp::thread::Thread::new::thread_start::h8084b1107992ae5b
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/liballoc/boxed.rs:605
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/sys_common/thread.rs:21
                        at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/sys/unix/thread.rs:84
  29:     0x7f80f29c5709 - start_thread
  30:     0x7f80fa3f382c - clone
  31:                0x0 - <unknown>

error: Could not compile `image-worker`.

To learn more, run the command again with --verbose.

Versions:

$ rustc --version --verbose
rustc 1.15.0-nightly (ba872f270 2016-11-17)
binary: rustc
commit-hash: ba872f270781ada15426cfac7db20b30b81777dc
commit-date: 2016-11-17
host: x86_64-unknown-linux-gnu
release: 1.15.0-nightly
LLVM version: 3.9
jseyfried commented 8 years ago

@sunjay #37793 didn't make it into the latest nightly (2016-11-17).

ghost commented 8 years ago

It still getting error with BACKTRACE

error: internal compiler error: ../src/librustc_metadata/decoder.rs:490: entry: id not found: DefIndex(1) in crate "serde_derive" with number 12

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: run with `RUST_BACKTRACE=1` for a backtrace

thread 'rustc' panicked at 'Box<Any>', ../src/librustc_errors/lib.rs:424
stack backtrace:
   1:        0x113b564ea - std::sys::imp::backtrace::tracing::imp::write::h944c02ac40aee2d7
   2:        0x113b6377f - std::panicking::default_hook::{{closure}}::h6875a2976258b020
   3:        0x113b6332d - std::panicking::default_hook::h88ffbc5922643264
   4:        0x113b63c46 - std::panicking::rust_panic_with_hook::ha5aed1dfc0e220e3
   5:        0x1112f5f2a - std::panicking::begin_panic::h264cdc75d51b518b
   6:        0x111306d34 - rustc_errors::Handler::bug::h620f7270292f0095
   7:        0x110663ecc - rustc::session::opt_span_bug_fmt::{{closure}}::h4a9b70c3df8b4b3a
   8:        0x110663cd9 - rustc::session::opt_span_bug_fmt::h7d83586c6e2c7ae6
   9:        0x11066385a - rustc::session::bug_fmt::he2d2f00a4afa9d1e
  10:        0x10fb94463 - rustc_metadata::decoder::<impl rustc_metadata::cstore::CrateMetadata>::entry::h5e3d8114267e9116
  11:        0x10fb9ceab - rustc_metadata::cstore_impl::<impl rustc::middle::cstore::CrateStore<'tcx> for rustc_metadata::cstore::CStore>::visibility::h2949b511f18961ee
  12:        0x10fba59a6 - rustc_metadata::cstore_impl::<impl rustc::middle::cstore::CrateStore<'tcx> for rustc_metadata::cstore::CStore>::visible_parent_map::hab53861eb74bce8d
  13:        0x1106ad1c4 - rustc::ty::item_path::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::push_item_path::haa7f7a9afda5f72a
  14:        0x1106f92d5 - rustc::util::ppaux::parameterized::h7bcfb1fd3d8a947a
  15:        0x113ba7cb5 - core::fmt::write::h01739b8f12f355f9
  16:        0x113ba8b6d - core::fmt::Formatter::write_fmt::h50f274f007b40806
  17:        0x110701cf2 - rustc::util::ppaux::<impl core::fmt::Display for rustc::ty::TraitPredicate<'tcx>>::fmt::he0dbf908fd919098
  18:        0x113ba7cb5 - core::fmt::write::h01739b8f12f355f9
  19:        0x113ba8b6d - core::fmt::Formatter::write_fmt::h50f274f007b40806
  20:        0x1106fe8e0 - rustc::util::ppaux::<impl core::fmt::Display for rustc::ty::sty::Binder<rustc::ty::TraitPredicate<'tcx>>>::fmt::hb2f823bd10699038
  21:        0x113ba7cb5 - core::fmt::write::h01739b8f12f355f9
  22:        0x113ba8b6d - core::fmt::Formatter::write_fmt::h50f274f007b40806
  23:        0x110701fbd - rustc::util::ppaux::<impl core::fmt::Display for rustc::ty::Predicate<'tcx>>::fmt::hcaf28c3b7b8ea3ed
  24:        0x113ba7cb5 - core::fmt::write::h01739b8f12f355f9
  25:        0x113b66f6e - collections::fmt::format::h2e5dd97da45bd3ab
  26:        0x11066c014 - rustc::traits::error_reporting::<impl rustc::infer::InferCtxt<'a, 'gcx, 'tcx>>::report_selection_error::h962cd4a7e26d176d
  27:        0x1106669fb - rustc::traits::error_reporting::<impl rustc::infer::InferCtxt<'a, 'gcx, 'tcx>>::report_fulfillment_error::hb3520d160f1dddc3
  28:        0x1106654b1 - rustc::traits::error_reporting::<impl rustc::infer::InferCtxt<'a, 'gcx, 'tcx>>::report_fulfillment_errors::h9a88e2fc91b0b056
  29:        0x10f94b2be - rustc_typeck::check::FnCtxt::select_obligations_where_possible::hb71c39774d7865bc
  30:        0x10f94c391 - rustc_typeck::check::FnCtxt::check_argument_types::he326f7b617348eec
  31:        0x10f91b6dc - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt<'a, 'gcx, 'tcx>>::confirm_builtin_call::h2ace35e908f32dc7
  32:        0x10f91ac14 - rustc_typeck::check::callee::<impl rustc_typeck::check::FnCtxt<'a, 'gcx, 'tcx>>::check_call::h1477c9c452056cce
  33:        0x10f952619 - rustc_typeck::check::FnCtxt::check_expr_kind::h7d21f5f45aa93926
  34:        0x10f9519cd - rustc_typeck::check::FnCtxt::check_expr_with_expectation_and_lvalue_pref::h2b84bdb152466f80
  35:        0x10f9521bb - rustc_typeck::check::FnCtxt::check_expr_kind::h7d21f5f45aa93926
  36:        0x10f9519cd - rustc_typeck::check::FnCtxt::check_expr_with_expectation_and_lvalue_pref::h2b84bdb152466f80
  37:        0x10f9601db - rustc_typeck::check::FnCtxt::check_decl_initializer::hcde9e1bad2c91b30
  38:        0x10f9602e3 - rustc_typeck::check::FnCtxt::check_decl_local::h6cf1db2e01e7cb8e
  39:        0x10f9605dc - rustc_typeck::check::FnCtxt::check_stmt::hd3d24c9e1f029860
  40:        0x10f9608fe - rustc_typeck::check::FnCtxt::check_block_with_expected::he5a0b03e6951b34f
  41:        0x10f951e97 - rustc_typeck::check::FnCtxt::check_expr_kind::h7d21f5f45aa93926
  42:        0x10f9519cd - rustc_typeck::check::FnCtxt::check_expr_with_expectation_and_lvalue_pref::h2b84bdb152466f80
  43:        0x10f9321b5 - rustc_typeck::check::check_fn::h96bd864b4d4fc711
  44:        0x10f930cf7 - rustc_typeck::check::check_bare_fn::heb8c1cdb84569c5e
  45:        0x10f933d75 - rustc_typeck::check::check_item_body::h1e039ede2f960fb9
  46:        0x10f92ecf5 - rustc_typeck::check::check_item_bodies::hd22adb7703cc56d7
  47:        0x10f99c208 - rustc_typeck::check_crate::h4045752b69a796e8
  48:        0x10f4495ec - rustc_driver::driver::phase_3_run_analysis_passes::{{closure}}::h97a3a12d948df547
  49:        0x10f4467bd - rustc_driver::driver::phase_3_run_analysis_passes::hb0ad9de18d423e67
  50:        0x10f42e005 - rustc_driver::driver::compile_input::h8e119234b60571d5
  51:        0x10f474099 - rustc_driver::run_compiler::hbdfc4f84e2e0f4b9
  52:        0x10f392d98 - std::panicking::try::do_call::hf679f17bf3b43b0b
  53:        0x113b661fa - __rust_maybe_catch_panic
  54:        0x10f3b6eef - <F as alloc::boxed::FnBox<A>>::call_box::h506fb5d7b8891cd4
  55:        0x113b628d4 - std::sys::imp::thread::Thread::new::thread_start::h8084b1107992ae5b
  56:     0x7fffe9907aaa - _pthread_body
  57:     0x7fffe99079f6 - _pthread_start
sunjay commented 8 years ago

@jseyfried Any idea when this will make it into nightly? Still getting this error on the latest one.

$ rustc --version --verbose
rustc 1.15.0-nightly (0bd2ce62b 2016-11-19)
binary: rustc
commit-hash: 0bd2ce62b27e2b9a7dfe92fc23d9098854008089
commit-date: 2016-11-19
host: x86_64-unknown-linux-gnu
release: 1.15.0-nightly
LLVM version: 3.9
jseyfried commented 8 years ago

@sunjay This is fixed in the latest nightly (2016-11-19), so there should be no ICE.

The earlier errors, like a type named `Action` has already been defined in this module, are from using and old version of serde_derive -- only 0.8.18 works with latest nighties. I believe removing Cargo.lock and rebuilding will update serde_derive to the lastest version.

I just tested the code from https://github.com/rust-lang/rust/issues/37795#issuecomment-261287284 in a fresh cargo project and it compiles successfully.

sunjay commented 8 years ago

@jseyfried Thank you so much! I ran cargo update and everything works with the latest serde_derive as well as the latest nightly.