Closed
Description
I'm learning rust and diesel, while trying to get the diesel::association::BelongTo working on my table, I tried this code:
#[derive(Queryable, Identifiable, BelongsTo::User, Clone)]
pub struct Game {
pub id: i32,
pub name: String,
pub admin: i32,
pub pwd: Option<String>,
pub messages_enabled: bool,
pub private: bool,
pub n_players: i32,
pub status: String,
}
I expected to see this happen: Nothing, to be honest, I thought BelongsTo::<User> should work, and BelongsTo::User does not make any sense to me.
Instead, this happened: I got the error message telling me to report this bug.
Meta
rustc --version --verbose
:
rustc 1.21.0 (3b72af97e 2017-10-09)
binary: rustc
commit-hash: 3b72af97e42989b2fe104d8edbaee123cdf7c58f
commit-date: 2017-10-09
host: x86_64-apple-darwin
release: 1.21.0
LLVM version: 4.0
Backtrace:
Compiling gotgame v0.1.0 (file:///Users/gasabr/Coding/gotgame)
error: non-ident macro paths are experimental (see issue #35896)
--> src/models.rs:47:35
|
47 | #[derive(Queryable, Identifiable, BelongsTo::User, Clone)]
| ^^^^^^^^^^^^^^^
error: internal compiler error: unexpected panic
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: rustc 1.21.0 (3b72af97e 2017-10-09) running on x86_64-apple-darwin
note: run with `RUST_BACKTRACE=1` for a backtrace
thread 'rustc' panicked at 'Expected Def::Macro(..)', src/librustc_resolve/build_reduced_graph.rs:555:17
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace
1: std::panicking::default_hook::{{closure}}
2: std::panicking::default_hook
3: std::panicking::rust_panic_with_hook
4: std::panicking::begin_panic
5: rustc_resolve::build_reduced_graph::<impl rustc_resolve::Resolver<'a>>::get_macro
6: rustc_resolve::macros::<impl syntax::ext::base::Resolver for rustc_resolve::Resolver<'a>>::resolve_invoc
7: syntax::ext::expand::MacroExpander::expand
8: syntax::ext::expand::MacroExpander::expand_crate
9: rustc_driver::driver::phase_2_configure_and_expand::{{closure}}
10: rustc_driver::driver::phase_2_configure_and_expand
11: rustc_driver::driver::compile_input
12: rustc_driver::run_compiler