AltF02 / AltF02/x11-rs

examples include undefined behavior

Aberta
#180 0 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Rust
Estrelas
205
Forks
69
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

There are several places in the example code that call `MaybeUninit::uninit().assume_init()`, which is [undefined behavior](https://doc.rust-lang.org/std/mem/union.MaybeUninit.html#method.assume_init).

Newer toolchains (e.g. rust 1.87.0) print a big warning when this code is compiled:

```plaintext
warning: the type `XSetWindowAttributes` does not permit being left uninitialized
--> src/main.rs:25:58
|
25 | let mut attributes: xlib::XSetWindowAttributes = mem::MaybeUninit::uninit().assume_init();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| |
| this code causes undefined behavior when executed
| help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done
|
= note: integers must be initialized
= note: `#[warn(invalid_value)]` on by default
```

Values must be initialized before being accessed; `MaybeUninit` does not excuse the code from that requirement.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.