The no_mangle attribute is unsafe since Rust 2024

This commit is contained in:
Philipp Oppermann
2025-03-27 15:39:15 +01:00
parent 9345886d44
commit 9753695744
47 changed files with 149 additions and 149 deletions

View File

@@ -393,7 +393,7 @@ pub fn init() {
```rust
// in src/main.rs
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
println!("Hello World{}", "!");
@@ -428,7 +428,7 @@ pub extern "C" fn _start() -> ! {
/// Entry point for `cargo test`
#[cfg(test)]
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
init(); // new
test_main();

View File

@@ -391,7 +391,7 @@ pub fn init() {
```rust
// in src/main.rs
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
println!("Hello World{}", "!");
@@ -426,7 +426,7 @@ pub extern "C" fn _start() -> ! {
/// Entry point for `cargo test`
#[cfg(test)]
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
init(); // new
test_main();

View File

@@ -398,7 +398,7 @@ pub fn init() {
```rust
// in src/main.rs
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
println!("Hello World{}", "!");
@@ -433,7 +433,7 @@ pub extern "C" fn _start() -> ! {
/// Entry point for `cargo test`
#[cfg(test)]
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
init(); // 새로 추가한 코드
test_main();

View File

@@ -390,7 +390,7 @@ Now we can update the `_start` function of our `main.rs` to call `init` and then
```rust
// in src/main.rs
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
println!("Hello World{}", "!");
@@ -425,7 +425,7 @@ Let's create a test that ensures that the above continues to work. First, we upd
/// Entry point for `cargo test`
#[cfg(test)]
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
init(); // new
test_main();

View File

@@ -394,7 +394,7 @@ pub fn init() {
```rust
// in src/main.rs
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
println!("Hello World{}", "!");
@@ -429,7 +429,7 @@ pub extern "C" fn _start() -> ! {
/// Entry point for `cargo test`
#[cfg(test)]
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
init(); // new
test_main();