Allow using X11 / Wayland on platforms that have another standard backend (macOS, Android)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- android, linux, macos, rust
- Ambito
- computer-graphics, operating-systems
Direzione di ricerca
Riproduci il fallimento segnalato di cargo build --target x86_64-linux-android, quindi esamina src/lib.rs, src/backend_dispatch.rs e src/backend_interface.rs, in particolare il dispatch generico del backend e i bound degli handle. Il lavoro è completato quando il target rilevante viene compilato senza gli errori segnalati relativi ai parametri generici e all’inferenza dei tipi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Partially related to #44 I am trying to compile some rust application targeting termux (x11) and am getting the below errors. I have tried both compiling within termux, as well as on my desktop
command: cargo build --target x86_64-linux-android
Error log
error[E0392]: parameter `D` is never used
--> /home/quack/.cargo/registry/src/index.crates.io-6f17d22bba15001f/softbuffer-0.4.2/src/lib.rs:33:20
|
33 | pub struct Context<D> {
| ^ unused parameter
|
= help: consider removing `D`, referring to it in a field, or using a marker such as `PhantomData`
= help: if you intended `D` to be a const parameter, use `const D: usize` instead
error[E0392]: parameter `D` is never used
--> /home/quack/.cargo/registry/src/index.crates.io-6f17d22bba15001f/softbuffer-0.4.2/src/lib.rs:74:20
|
74 | pub struct Surface<D, W> {
| ^ unused parameter
|
= help: consider removing `D`, referring to it in a field, or using a marker such as `PhantomData`
= help: if you intended `D` to be a const parameter, use `const D: usize` instead
error[E0392]: parameter `W` is never used
--> /home/quack/.cargo/registry/src/index.crates.io-6f17d22bba15001f/softbuffer-0.4.2/src/lib.rs:74:23
|
74 | pub struct Surface<D, W> {
| ^ unused parameter
|
= help: consider removing `W`, referring to it in a field, or using a marker such as `PhantomData`
= help: if you intended `W` to be a const parameter, use `const W: usize` instead
error[E0392]: parameter `'a` is never used
--> /home/quack/.cargo/registry/src/index.crates.io-6f17d22bba15001f/softbuffer-0.4.2/src/lib.rs:197:19
|
197 | pub struct Buffer<'a, D, W> {
| ^^ unused parameter
|
= help: consider removing `'a`, referring to it in a field, or using a marker such as `PhantomData`
error[E0392]: parameter `D` is never used
--> /home/quack/.cargo/registry/src/index.crates.io-6f17d22bba15001f/softbuffer-0.4.2/src/lib.rs:197:23
|
197 | pub struct Buffer<'a, D, W> {
| ^ unused parameter
|
= help: consider removing `D`, referring to it in a field, or using a marker such as `PhantomData`
= help: if you intended `D` to be a const parameter, use `const D: usize` instead
error[E0392]: parameter `W` is never used
--> /home/quack/.cargo/registry/src/index.crates.io-6f17d22bba15001f/softbuffer-0.4.2/src/lib.rs:197:26
|
197 | pub struct Buffer<'a, D, W> {
| ^ unused parameter
|
= help: consider removing `W`, referring to it in a field, or using a marker such as `PhantomData`
= help: if you intended `W` to be a const parameter, use `const W: usize` instead
error[E0392]: parameter `D` is never used
--> /home/quack/.cargo/registry/src/index.crates.io-6f17d22bba15001f/softbuffer-0.4.2/src/backend_dispatch.rs:180:6
|
180 | <D, W> =>
| ^ unused parameter
|
= help: consider removing `D`, referring to it in a field, or using a marker such as `PhantomData`
= help: if you intended `D` to be a const parameter, use `const D: usize` instead
error[E0392]: parameter `W` is never used
--> /home/quack/.cargo/registry/src/index.crates.io-6f17d22bba15001f/softbuffer-0.4.2/src/backend_dispatch.rs:180:9
|
180 | <D, W> =>
| ^ unused parameter
|
= help: consider removing `W`, referring to it in a field, or using a marker such as `PhantomData`
= help: if you intended `W` to be a const parameter, use `const W: usize` instead
error[E0392]: parameter `'a` is never used
--> /home/quack/.cargo/registry/src/index.crates.io-6f17d22bba15001f/softbuffer-0.4.2/src/backend_dispatch.rs:119:40
|
119 | pub(crate) enum BufferDispatch<'a, $dgen, $wgen> {
| ^^ unused parameter
...
179 | / make_dispatch! {
180 | | <D, W> =>
181 | | #[cfg(x11_platform)]
182 | | X11(Rc<backends::x11::X11DisplayImpl<D>>, backends::x11::X11Impl<D, W>, backends::x11::BufferImpl<'a, D, W>),
... |
194 | | Orbital(D, backends::orbital::OrbitalImpl<D, W>, backends::orbital::BufferImpl<'a, D, W>),
195 | | }
| |_- in this macro invocation
|
= help: consider removing `'a`, referring to it in a field, or using a marker such as `PhantomData`
= note: this error originates in the macro `make_dispatch` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0283]: type annotations needed
--> /home/quack/.cargo/registry/src/index.crates.io-6f17d22bba15001f/softbuffer-0.4.2/src/lib.rs:83:15
|
83 | match SurfaceDispatch::new(window, &context.context_impl) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `D` declared on the trait `SurfaceInterface`
|
= note: cannot satisfy `_: HasDisplayHandle`
= help: the following types implement trait `HasDisplayHandle`:
NoDisplayHandle
Box<H>
DisplayHandle<'a>
Rc<H>
Arc<H>
&H
&mut H
note: required by a bound in `backend_interface::SurfaceInterface::new`
--> /home/quack/.cargo/registry/src/index.crates.io-6f17d22bba15001f/softbuffer-0.4.2/src/backend_interface.rs:15:38
|
15 | pub(crate) trait SurfaceInterface<D: HasDisplayHandle + ?Sized, W: HasWindowHandle + ?Sized> {
| ^^^^^^^^^^^^^^^^ required by this bound in `SurfaceInterface::new`
...
21 | fn new(window: W, context: &Self::Context) -> Result<Self, InitError<W>>
| --- required by a bound in this associated function
error[E0282]: type annotations needed
--> /home/quack/.cargo/registry/src/index.crates.io-6f17d22bba15001f/softbuffer-0.4.2/src/lib.rs:137:12
|
137 | Ok(Buffer {
| ____________^
138 | | buffer_impl: self.surface_impl.buffer_mut()?,
139 | | _marker: PhantomData,
140 | | })
| |_________^ cannot infer type of the type parameter `D` declared on the struct `Buffer`
|
help: consider specifying the generic arguments
|
137 | Ok(Buffer::<D, W> {
| ++++++++
error[E0283]: type annotations needed
--> /home/quack/.cargo/registry/src/index.crates.io-6f17d22bba15001f/softbuffer-0.4.2/src/lib.rs:147:14
|
147 | self.window()
| ^^^^^^ cannot infer type for type parameter `D`
|
= note: cannot satisfy `_: HasDisplayHandle`
= help: the following types implement trait `HasDisplayHandle`:
NoDisplayHandle
Box<H>
DisplayHandle<'a>
Rc<H>
Arc<H>
&H
&mut H
note: required by a bound in `Surface::<D, W>::window`
--> /home/quack/.cargo/registry/src/index.crates.io-6f17d22bba15001f/softbuffer-0.4.2/src/lib.rs:80:9
|
80 | impl<D: HasDisplayHandle, W: HasWindowHandle> Surface<D, W> {
| ^^^^^^^^^^^^^^^^ required by this bound in `Surface::<D, W>::window`
...
101 | pub fn window(&self) -> &W {
| ------ required by a bound in this associated function
error[E0282]: type annotations needed
--> /home/quack/.cargo/registry/src/index.crates.io-6f17d22bba15001f/softbuffer-0.4.2/src/lib.rs:156:23
|
156 | self.window().window_handle()
| ^^^^^^^^^^^^^ cannot infer type for type parameter `W`
Some errors have detailed explanations: E0282, E0283, E0392.
For more information about an error, try `rustc --explain E0282`.
error: could not compile `softbuffer` (lib) due to 13 previous errors
warning: build failed, waiting for other jobs to finish...
- Lingua principale
- Rust
- Stelle
- 507
- Fork
- 85
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di rust-windowing/softbuffer
-
DS - X11
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
rust-windowing/softbuffer#368 ·
-
`Buffer<'_>` shouldn't be `Send`Forse già presa @Guflly l’ha presa 67 giorni fa. Apertabug DS - Android NDK
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
rust-windowing/softbuffer#347 · 1 commento ·
-
Needs Design Work
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
rust-windowing/softbuffer#342 · 1 commento ·
-
enhancement question
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
rust-windowing/softbuffer#338 ·
-
Zero-copying on AndroidForse già presa @MarijnS95 l’ha presa 249 giorni fa. ApertaDS - Android NDK enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
rust-windowing/softbuffer#318 · 2 commenti ·
Tutte le issue di rust-windowing/softbuffer
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
antithesishq/bombadil#361 ·
I maintainer di solito rispondono entro 1 giorno
-
test(executor_l0): assert execute() TaskOutcome, not only bus events / 断言 execute() 返回的 TaskOutcomeApertatype:debt
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
skaiy/wild_agentos#425 ·
I maintainer di solito rispondono entro 1 giorno
-
Default-import note suggests `import * as process` for velt:process, which does not name the builtinAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
bug ticket
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
cratestack/cratestack#1154 ·
I maintainer di solito rispondono entro 1 giorno
-
status:needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno