Skip to content

rustc error: internal compiler error: type_of with ty_param #11676

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

Closed
carllerche opened this issue Jan 20, 2014 · 2 comments
Closed

rustc error: internal compiler error: type_of with ty_param #11676

carllerche opened this issue Jan 20, 2014 · 2 comments

Comments

@carllerche
Copy link
Member

output:

rustc --staticlib -Z gen-crate-map -o libskylight.a src/rs/skylight/lib.rs
warning: ignoring specified output filename for library.
src/rs/skylight/api.rs:75:75: 75:78 warning: unused variable: `obj`, #[warn(unused_variable)] on by default
src/rs/skylight/api.rs:75 pub extern "C" fn sk_message_serialized_size_info<M: proto::Serializable>(obj: &M) -> *proto::SerializedSizeInfo {
                                                                                                    ^~~
src/rs/skylight/proto/api.rs:38:1: 43:2 warning: code is never used: `deserialize_from_bytes`, #[warn(dead_code)] on by default
src/rs/skylight/proto/api.rs:38 pub fn deserialize_from_bytes<T: Deserializable>(bytes: &[u8]) -> Result<T, int> {
src/rs/skylight/proto/api.rs:39   let mut reader = BufReader::new(bytes);
src/rs/skylight/proto/api.rs:40   let mut stream = InputStream::new(&mut reader);
src/rs/skylight/proto/api.rs:41
src/rs/skylight/proto/api.rs:42   Deserializable::deserialize(&mut stream)
src/rs/skylight/proto/api.rs:43 }
error: internal compiler error: type_of with ty_param
This message reflects a bug in the Rust compiler.
We would appreciate a bug report: http://static.rust-lang.org/doc/master/complement-bugreport.html
task 'rustc' failed at 'explicit failure', /Users/carllerche/Code/oss/rust/src/libsyntax/diagnostic.rs:75
task '<main>' failed at 'explicit failure', /Users/carllerche/Code/oss/rust/src/librustc/lib.rs:448

uname -a:

Darwin Carls-MacBook-Pro.local 12.5.0 Darwin Kernel Version 12.5.0: Sun Sep 29 13:33:47 PDT 2013; root:xnu-2050.48.12~1/RELEASE_X86_64 x86_64

rustc -v:

rustc 0.10-pre (f4498c7 2014-01-17 17:56:41 -0800)
host: x86_64-apple-darwin

backtrace:

#0  0x00000001000aa490 in rust_fail ()
#1  0x00000001000087d7 in rt::unwind::Unwinder::begin_unwind::h404ae94160912110NCaL::v0.9 ()
#2  0x00000001009fc240 in rt::unwind::begin_unwind::h7661869d5c05f669aH::v0.10.pre ()
#3  0x0000000100a0b49c in diagnostic::Handler::fatal::h43d803f113302b80qVam::v0.10.pre ()
#4  0x0000000100a0bb79 in diagnostic::Handler::bug::h8095feb2c3679cf5qVaB::v0.10.pre ()
#5  0x0000000100f9fd54 in driver::session::Session_::bug::hcd85f36ce5a8ae05iqak::v0.10.pre ()
#6  0x0000000100fdee4c in middle::trans::type_of::type_of::h84f1da6e53fff97fak::v0.10.pre ()
#7  0x0000000100fde58d in middle::trans::type_of::type_of::h84f1da6e53fff97fak::v0.10.pre ()
#8  0x0000000100fde16f in middle::trans::type_of::type_of::h84f1da6e53fff97fak::v0.10.pre ()
#9  0x0000000101049c72 in vec::ImmutableVector$$BP$$VEC$T::map::h520a9f201eefee5alaaS::v0.10.pre ()
#10 0x00000001010e09d3 in middle::trans::foreign::foreign_signature::h9a66760111f3aafcaj::v0.10.pre ()
#11 0x00000001010e0ca2 in middle::trans::foreign::foreign_types_for_fn_ty::h739a71597f0d8754ax::v0.10.pre ()
#12 0x00000001010a6566 in middle::trans::foreign::register_rust_fn_with_foreign_abi::h25dbdc53f0369707ac::v0.10.pre ()
#13 0x0000000100f9d75d in middle::trans::base::get_item_val::hc7fc1be88631c8f2a7::v0.10.pre ()
#14 0x0000000100f9b1ba in middle::trans::base::trans_item::hcc7696c7806da52eaZ::v0.10.pre ()
#15 0x00000001010a2ddf in middle::trans::base::trans_mod::h0cb3aa9e0f3df697aG::v0.10.pre ()
#16 0x0000000100f9af27 in middle::trans::base::trans_item::hcc7696c7806da52eaZ::v0.10.pre ()
#17 0x00000001010a2ddf in middle::trans::base::trans_mod::h0cb3aa9e0f3df697aG::v0.10.pre ()
#18 0x00000001010abf55 in middle::trans::base::trans_crate::h3778a50aab1ab774aw::v0.10.pre ()
#19 0x00000001015bacfc in driver::driver::phase_4_translate_to_llvm::heb67e681f938484aaQ::v0.10.pre ()
#20 0x00000001015bdb90 in driver::driver::compile_input::hf02f7b912014724aaq::v0.10.pre ()
#21 0x00000001015e3906 in run_compiler::h774565e05568b767aS::v0.10.pre ()
#22 0x00000001015f1a26 in main_args::anon::expr_fn::as ()
#23 0x00000001015efb94 in monitor::anon::expr_fn::aL ()
#24 0x00000001015e8b9e in task::TaskBuilder::try::anon::expr_fn::sIaOao ()
#25 0x00000001005c0428 in task::__extensions__::build_start_wrapper::anon::anon::expr_fn::a7 ()
#26 0x00000001000a5f68 in rt::task::__extensions__::run::anon::expr_fn::ag ()
#27 0x00000001000acebc in rust_try ()
#28 0x00000001005bfebc in task::__extensions__::build_start_wrapper::anon::expr_fn::aR ()
@carllerche
Copy link
Member Author

I believe that the error happened because of this:

#[no_mangle]
pub extern "C" fn sk_message_serialized_size_info<M: proto::Serializable>(obj: &M) -> *proto::SerializedSizeInfo {
  let ret = proto::compute_serialized_size_of(obj);
  unsafe { cast::transmute(ret) }
}

@alexcrichton
Copy link
Member

Closing as a dupe of #10954, generics aren't allowed in extern fns and I don't think that they're handled perfectly just yet.

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

2 participants