RLS won't build gstreamer-rs
RLS won't build the Gstreamer crate. There is a related bug report on RLS: https://github.com/rust-lang/rls/issues/1390
I can't judge if this comes from the crate or is a RLS issue.
$ rls --version
rls-preview 1.33.0 (9f3c906 2019-01-20)
$ rustc --version
rustc 1.33.0 (2aa4c46cf 2019-02-28)
With a rust repo consisting of an empty src and a Cargo.toml as such:
[package]
name = "gst-depth-demux"
version = "0.1.0"
authors = ["me <me@me.com>"]
edition = "2018"
license = "Apache-2.0"
[dependencies]
glib = { git = "https://github.com/gtk-rs/glib", features = ["subclassing"] }
gstreamer = { git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", features = ["subclassing"] }
gstreamer-base = { git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", features = ["subclassing"] }
gstreamer-video = { git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs" }
byte-slice-cast = "0.2"
num-traits = "0.2"
[lib]
name = "gstrst"
crate-type = ["cdylib"]
path = "src/lib.rs
Running manually as such: RUST_LOG=rls=debug rls --cli
shows the following (beautified) error:
{
"jsonrpc": "2.0",
"method": "window/progress",
"params": {
"id": "progress_1",
"message": "glib",
"title": "Building"
}
} {
"jsonrpc": "2.0",
"method": "window/progress",
"params": {
"id": "progress_1",
"message": "gstreamer_base_sys",
"title": "Building"
}
} {
"jsonrpc": "2.0",
"method": "window/progress",
"params": {
"id": "progress_1",
"message": "gstreamer_video_sys",
"title": "Building"
}
} {
"jsonrpc": "2.0",
"method": "window/progress",
"params": {
"id": "progress_1",
"message": "gstreamer",
"title": "Building"
}
} {
"message": "cannot extract an associated type from a higher-ranked trait bound in this context",
"code": {
"code": "E0212",
"explanation": null
},
"level": "error",
"spans": [{
"file_name": "/home/rapha/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/9a01bd6/gstreamer/src/tags.rs",
"byte_start": 20595,
"byte_end": 20618,
"line_start": 839,
"line_end": 839,
"column_start": 13,
"column_end": 36,
"is_primary": true,
"text": [{
"text": " T::TagType::static_type().to_glib(),",
"highlight_start": 13,
"highlight_end": 36
}],
"label": null,
"suggested_replacement": null,
"suggestion_applicability": null,
"expansion": null
}],
"children": [],
"rendered": "error[E0212]: cannot extract an associated type from a higher-ranked trait bound in this context\n --> /home/rapha/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/9a01bd6/gstreamer/src/tags.rs:839:13\n |\n839 | T::TagType::static_type().to_glib(),\n | ^^^^^^^^^^^^^^^^^^^^^^^\n\n"
} {
"message": "aborting due to previous error",
"code": null,
"level": "error",
"spans": [],
"children": [],
"rendered": "error: aborting due to previous error\n\n"
} {
"message": "For more information about this error, try `rustc --explain E0212`.",
"code": null,
"level": "",
"spans": [],
"children": [],
"rendered": "For more information about this error, try `rustc --explain E0212`.\n"
}
DEBUG 2019 - 04 - 01 T12: 45: 42 Z: rls::build::cargo: Error running compile_with_exec: ProcessError {
desc: "process didn\'t exit successfully: `/home/rapha/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rls --crate-name gstreamer /home/rapha/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/9a01bd6/gstreamer/src/lib.rs --color never --crate-type lib --emit=dep-info,metadata -C debuginfo=2 --cfg \'feature=\"default\"\' --cfg \'feature=\"glib\"\' --cfg \'feature=\"subclassing\"\' -C metadata=ca17d2325795c57c -C extra-filename=-ca17d2325795c57c --out-dir /home/rapha/Development/local/gst-rls/target/rls/debug/deps -L dependency=/home/rapha/Development/local/gst-rls/target/rls/debug/deps --extern bitflags=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libbitflags-eef9e66be0be1eb9.rmeta --extern cfg_if=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libcfg_if-b88592acb485e56d.rmeta --extern glib=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libglib-1f409ddfec7b80d1.rmeta --extern glib_sys=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libglib_sys-d61bd4e2c0691c01.rmeta --extern gobject_sys=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libgobject_sys-f8fd1748d782d3e7.rmeta --extern gstreamer_sys=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libgstreamer_sys-f28fa710ae6f48d6.rmeta --extern lazy_static=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/liblazy_static-765affedf080914c.rmeta --extern libc=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/liblibc-61b3b03f73201e0d.rmeta --extern muldiv=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libmuldiv-4675c0ebff546f05.rmeta --extern num_rational=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libnum_rational-d014194d38b40db6.rmeta --cap-lints allow -L native=/usr/local/lib/x86_64-linux-gnu --error-format=json --sysroot /home/rapha/.rustup/toolchains/stable-x86_64-unknown-linux-gnu` (exit code: 1)",
exit: Some(ExitStatus(ExitStatus(256))),
output: None
}
Could not compile `gstreamer`. {
"jsonrpc": "2.0",
"method": "window/progress",
"params": {
"done": true,
"id": "progress_1",
"title": "Building"
}
} {
"jsonrpc": "2.0",
"method": "window/progress",
"params": {
"id": "progress_0",
"title": "Indexing"
}
} {
"jsonrpc": "2.0",
"method": "textDocument/publishDiagnostics",
"params": {
"diagnostics": [{
"message": "Could not compile `gstreamer`.\nprocess didn't exit successfully: `/home/rapha/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rls --crate-name gstreamer /home/rapha/.cargo/git/checkouts/gstreamer-rs-79e52a2d27eb91a3/9a01bd6/gstreamer/src/lib.rs --color never --crate-type lib --emit=dep-info,metadata -C debuginfo=2 --cfg 'feature=\"default\"' --cfg 'feature=\"glib\"' --cfg 'feature=\"subclassing\"' -C metadata=ca17d2325795c57c -C extra-filename=-ca17d2325795c57c --out-dir /home/rapha/Development/local/gst-rls/target/rls/debug/deps -L dependency=/home/rapha/Development/local/gst-rls/target/rls/debug/deps --extern bitflags=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libbitflags-eef9e66be0be1eb9.rmeta --extern cfg_if=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libcfg_if-b88592acb485e56d.rmeta --extern glib=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libglib-1f409ddfec7b80d1.rmeta --extern glib_sys=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libglib_sys-d61bd4e2c0691c01.rmeta --extern gobject_sys=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libgobject_sys-f8fd1748d782d3e7.rmeta --extern gstreamer_sys=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libgstreamer_sys-f28fa710ae6f48d6.rmeta --extern lazy_static=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/liblazy_static-765affedf080914c.rmeta --extern libc=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/liblibc-61b3b03f73201e0d.rmeta --extern muldiv=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libmuldiv-4675c0ebff546f05.rmeta --extern num_rational=/home/rapha/Development/local/gst-rls/target/rls/debug/deps/libnum_rational-d014194d38b40db6.rmeta --cap-lints allow -L native=/usr/local/lib/x86_64-linux-gnu --error-format=json --sysroot /home/rapha/.rustup/toolchains/stable-x86_64-unknown-linux-gnu` (exit code: 1)",
"range": {
"end": {
"character": 0,
"line": 9999
},
"start": {
"character": 0,
"line": 0
}
},
"severity": 1
}],
"uri": "file:///home/rapha/Development/local/gst-rls/Cargo.toml"
}
} {
"jsonrpc": "2.0",
"method": "window/progress",
"params": {
"done": true,
"id": "progress_0",
"title": "Indexing"
}
}