We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
When compiling this file: // cargo.rs - Rust package manager
use rustc; use std;
import rustc::syntax::{ast, codemap, visit}; import rustc::syntax::parse::parser;
import std::io; import std::option; import std::option::{none, some}; import std::run; import std::str; import std::tempfile; import std::vec;
type pkg = { name: str, vers: str, uuid: str, desc: option::t, sigs: option::t };
fn load_link(mis: [@ast::meta_item]) -> (option::t, option::t, option::t) { let name = none; let vers = none; let uuid = none; for a: @ast::meta_item in mis { alt a.node { ast::meta_name_value(v, {node: ast::lit_str(s), span: _}) { alt v { "name" { name = some(s); } "vers" { vers = some(s); } "uuid" { uuid = some(s); } _ { } } } } } (name, vers, uuid) } fn load_pkg(filename: str) -> option::t { let sess = @{cm: codemap::new_codemap(), mutable next_id: 0}; let c = parser::parse_crate_from_crate_file(filename, [], sess);
let name = none; let vers = none; let uuid = none; let desc = none; let sigs = none; for a in c.node.attrs { alt a.node.value.node { ast::meta_name_value(v, {node: ast::lit_str(s), span: _}) { alt v { "desc" { desc = some(v); } "sigs" { sigs = some(v); } _ { } } } ast::meta_list(v, mis) { if v == "link" { let (n, v, u) = load_link(mis); name = n; vers = v; uuid = u; } } } } alt (name, vers, uuid) { (some(name0), some(vers0), some(uuid0)) { some({ name: name0, vers: vers0, uuid: uuid0, desc: desc, sigs: sigs}) } _ { ret none; } }
}
fn print(s: str) { io::stdout().write_line(s); }
fn rest(s: str, start: uint) -> str { if (start >= str::char_len(s)) { "" } else { str::char_slice(s, start, str::char_len(s)) } } fn install_file(path: str) -> option::t { let wd = tempfile::mkdtemp("/tmp/cargo-work-", ""); ret wd; }
fn cmd_install(argv: [str]) { // cargo install if vec::len(argv) < 3u { cmd_usage(); ret; }
let wd = if str::starts_with(argv[2], "file:") { let path = rest(argv[2], 5u); install_file(path) } else { none };
fn cmd_usage() { print("Usage: cargo [args...]"); }
fn main(argv: [str]) { if vec::len(argv) < 2u { cmd_usage(); ret; } alt argv[1] { "usage" { cmd_usage(); } _ { cmd_usage(); } } }
rustc crashes with the following error: rust: upcall fail 'option none', src/lib/option.rs:34 rust: domain main @0x8f923a8 root task failed Stack: (gdb) bt #0 upcall_fail (expr=0x837c570 "option none", file=0xf7f973e0 "src/lib/option.rs", line=34) at ./src/rt/rust_upcall.cpp:53 #1 0xf7f61bc4 in option::get::_2ea22c2ffe2384d0 () from /home/elly/a/rust/bin/../lib/libruststd.so #2 0x0822574b in metadata::decoder::find_item::_df242c5c5051a8b3 () #3 0x08226deb in metadata::decoder::get_tag_variants::_a147d42fcea1fece () #4 0x082311c1 in metadata::csearch::get_tag_variants::_18f59da87adf6916 () #5 0x080f7a5b in middle::ty::tag_variants::_18f59da87adf6916 () #6 0x080e8a10 in middle::ty::type_structurally_contains::_5a6771941682f311 () #7 0x080e8bfb in middle::ty::type_structurally_contains::_5a6771941682f311 () #8 0x0806c667 in middle::trans::type_of_tag::_d41e55581ccd235a () #9 0x0806b4e9 in middle::trans::type_of_inner::_678082fcd324de96 () #10 0x0806bf39 in middle::trans::type_of_inner::_678082fcd324de96 () #11 0x0806b5a2 in middle::trans::type_of_inner::_678082fcd324de96 () #12 0x0806bdd7 in middle::trans::type_of_inner::_678082fcd324de96 () #13 0x0806bf39 in middle::trans::type_of_inner::_678082fcd324de96 () #14 0x0806bf39 in middle::trans::type_of_inner::_678082fcd324de96 () #15 0x0806b5a2 in middle::trans::type_of_inner::_678082fcd324de96 () #16 0x0806aeb0 in middle::trans::type_of_fn::_d546d6649fd77fad () #17 0x0806b344 in middle::trans::type_of_fn_from_ty::_c0eca63f47c43ab2 () #18 0x0806cab8 in middle::trans::type_of_ty_param_kinds_and_ty::_d6a7c6299c526e8f () #19 0x080906f6 in middle::trans::trans_external_path::_d1bfcf047562eb25 () #20 0x0809089b in middle::trans::lval_static_fn::_34da57b3cef2e8a6 () #21 0x08091722 in middle::trans::trans_var::_38a25ca0d46df44c () #22 0x08091537 in middle::trans::trans_path::_98b23f9ac5482cf2 () #23 0x08094548 in middle::trans::trans_callee::_acc25ceeb7639915 () #24 0x0809bb9d in middle::trans::trans_call::_8aa26f246483f45f () #25 0x080a0f81 in middle::trans::trans_expr::_bbcb02f4ad1ad745 () #26 0x0809fa86 in middle::trans::trans_temp_lval::_9abb497e3b8a2055 () #27 0x080a65b0 in middle::trans::init_local::_256ad881e86d4c2b () #28 0x080a7434 in middle::trans::trans_stmt::_457fb41f6733c9bd () #29 0x080a9078 in middle::trans::trans_block_dps::_5ed1d37c9b98c619 () #30 0x080abfeb in middle::trans::trans_closure::_3958e2a05ee91aa3 () #31 0x080ac1ca in middle::trans::trans_fn::_96b3ab2d545d6b67 () #32 0x080b1bf6 in middle::trans::trans_item::_5a8088de146f21ea () #33 0x080bcf28 in middle::trans::trans_crate::_4a38809211c9d6da () #34 0x0829537b in driver::rustc::compile_input::thunk9032 () #35 0x082330f9 in driver::rustc::time::_3e691b2a4ba58aee () #36 0x0823553e in driver::rustc::compile_input::_9ae791233473dfb5 () #37 0x0823e323 in driver::rustc::main::_cd8b8c8185af3dee () #38 0x0823e9ef in _rust_main () #39 0xf6ed47b4 in task_start_wrapper (a=0xf6bc9088) at ./src/rt/rust_task.cpp:180 #40 0xdeadbeef in ?? () #41 0xf6bc9088 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
The text was updated successfully, but these errors were encountered:
Use triple-backticks around code. Right now, indentation and everything between < and > was eaten.
<
>
When I manually correct the code, it compiles just fine. If you can still reproduce with HEAD, reopen with a (preferably reduced) test case.
Sorry, something went wrong.
Deny warnings on CI
7c62357
Fixes rust-lang#1213
Only deny warnings for cg_clif build itself
6b4e640
cc rust-lang#1213
Normalize [us]shll.* ..., #0 aarch64 disassembly to the preferred [us…
7fd93e3
…]xtl.* (rust-lang#1213)
No branches or pull requests
When compiling this file:
// cargo.rs - Rust package manager
use rustc;
use std;
import rustc::syntax::{ast, codemap, visit};
import rustc::syntax::parse::parser;
import std::io;
import std::option;
import std::option::{none, some};
import std::run;
import std::str;
import std::tempfile;
import std::vec;
type pkg = {
name: str,
vers: str,
uuid: str,
desc: option::t,
sigs: option::t
};
fn load_link(mis: [@ast::meta_item]) -> (option::t,
option::t,
option::t) {
let name = none;
let vers = none;
let uuid = none;
for a: @ast::meta_item in mis {
alt a.node {
ast::meta_name_value(v, {node: ast::lit_str(s), span: _}) {
alt v {
"name" { name = some(s); }
"vers" { vers = some(s); }
"uuid" { uuid = some(s); }
_ { }
}
}
}
}
(name, vers, uuid)
}
fn load_pkg(filename: str) -> option::t {
let sess = @{cm: codemap::new_codemap(), mutable next_id: 0};
let c = parser::parse_crate_from_crate_file(filename, [], sess);
}
fn print(s: str) {
io::stdout().write_line(s);
}
fn rest(s: str, start: uint) -> str {
if (start >= str::char_len(s)) {
""
} else {
str::char_slice(s, start, str::char_len(s))
}
}
fn install_file(path: str) -> option::t {
let wd = tempfile::mkdtemp("/tmp/cargo-work-", "");
ret wd;
}
fn cmd_install(argv: [str]) {
// cargo install
if vec::len(argv) < 3u {
cmd_usage();
ret;
}
}
fn cmd_usage() {
print("Usage: cargo [args...]");
}
fn main(argv: [str]) {
if vec::len(argv) < 2u {
cmd_usage();
ret;
}
alt argv[1] {
"usage" { cmd_usage(); }
_ { cmd_usage(); }
}
}
rustc crashes with the following error:
rust: upcall fail 'option none', src/lib/option.rs:34
rust: domain main @0x8f923a8 root task failed
Stack:
(gdb) bt
#0 upcall_fail (expr=0x837c570 "option none", file=0xf7f973e0 "src/lib/option.rs", line=34) at ./src/rt/rust_upcall.cpp:53
#1 0xf7f61bc4 in option::get::_2ea22c2ffe2384d0 () from /home/elly/a/rust/bin/../lib/libruststd.so
#2 0x0822574b in metadata::decoder::find_item::_df242c5c5051a8b3 ()
#3 0x08226deb in metadata::decoder::get_tag_variants::_a147d42fcea1fece ()
#4 0x082311c1 in metadata::csearch::get_tag_variants::_18f59da87adf6916 ()
#5 0x080f7a5b in middle::ty::tag_variants::_18f59da87adf6916 ()
#6 0x080e8a10 in middle::ty::type_structurally_contains::_5a6771941682f311 ()
#7 0x080e8bfb in middle::ty::type_structurally_contains::_5a6771941682f311 ()
#8 0x0806c667 in middle::trans::type_of_tag::_d41e55581ccd235a ()
#9 0x0806b4e9 in middle::trans::type_of_inner::_678082fcd324de96 ()
#10 0x0806bf39 in middle::trans::type_of_inner::_678082fcd324de96 ()
#11 0x0806b5a2 in middle::trans::type_of_inner::_678082fcd324de96 ()
#12 0x0806bdd7 in middle::trans::type_of_inner::_678082fcd324de96 ()
#13 0x0806bf39 in middle::trans::type_of_inner::_678082fcd324de96 ()
#14 0x0806bf39 in middle::trans::type_of_inner::_678082fcd324de96 ()
#15 0x0806b5a2 in middle::trans::type_of_inner::_678082fcd324de96 ()
#16 0x0806aeb0 in middle::trans::type_of_fn::_d546d6649fd77fad ()
#17 0x0806b344 in middle::trans::type_of_fn_from_ty::_c0eca63f47c43ab2 ()
#18 0x0806cab8 in middle::trans::type_of_ty_param_kinds_and_ty::_d6a7c6299c526e8f ()
#19 0x080906f6 in middle::trans::trans_external_path::_d1bfcf047562eb25 ()
#20 0x0809089b in middle::trans::lval_static_fn::_34da57b3cef2e8a6 ()
#21 0x08091722 in middle::trans::trans_var::_38a25ca0d46df44c ()
#22 0x08091537 in middle::trans::trans_path::_98b23f9ac5482cf2 ()
#23 0x08094548 in middle::trans::trans_callee::_acc25ceeb7639915 ()
#24 0x0809bb9d in middle::trans::trans_call::_8aa26f246483f45f ()
#25 0x080a0f81 in middle::trans::trans_expr::_bbcb02f4ad1ad745 ()
#26 0x0809fa86 in middle::trans::trans_temp_lval::_9abb497e3b8a2055 ()
#27 0x080a65b0 in middle::trans::init_local::_256ad881e86d4c2b ()
#28 0x080a7434 in middle::trans::trans_stmt::_457fb41f6733c9bd ()
#29 0x080a9078 in middle::trans::trans_block_dps::_5ed1d37c9b98c619 ()
#30 0x080abfeb in middle::trans::trans_closure::_3958e2a05ee91aa3 ()
#31 0x080ac1ca in middle::trans::trans_fn::_96b3ab2d545d6b67 ()
#32 0x080b1bf6 in middle::trans::trans_item::_5a8088de146f21ea ()
#33 0x080bcf28 in middle::trans::trans_crate::_4a38809211c9d6da ()
#34 0x0829537b in driver::rustc::compile_input::thunk9032 ()
#35 0x082330f9 in driver::rustc::time::_3e691b2a4ba58aee ()
#36 0x0823553e in driver::rustc::compile_input::_9ae791233473dfb5 ()
#37 0x0823e323 in driver::rustc::main::_cd8b8c8185af3dee ()
#38 0x0823e9ef in _rust_main ()
#39 0xf6ed47b4 in task_start_wrapper (a=0xf6bc9088) at ./src/rt/rust_task.cpp:180
#40 0xdeadbeef in ?? ()
#41 0xf6bc9088 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
The text was updated successfully, but these errors were encountered: