You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rollup merge of #122935 - RalfJung:with-exposed-provenance, r=Amanieu
rename ptr::from_exposed_addr -> ptr::with_exposed_provenance
As discussed on [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/136281-t-opsem/topic/To.20expose.20or.20not.20to.20expose/near/427757066).
The old name, `from_exposed_addr`, makes little sense as it's not the address that is exposed, it's the provenance. (`ptr.expose_addr()` stays unchanged as we haven't found a better option yet. The intended interpretation is "expose the provenance and return the address".)
The new name nicely matches `ptr::without_provenance`.
Copy file name to clipboardExpand all lines: tests/fail/provenance/strict_provenance_cast.stderr
+3-3
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
-
error: unsupported operation: integer-to-pointer casts and `ptr::from_exposed_addr` are not supported with `-Zmiri-strict-provenance`
1
+
error: unsupported operation: integer-to-pointer casts and `ptr::with_exposed_provenance` are not supported with `-Zmiri-strict-provenance`
2
2
--> $DIR/strict_provenance_cast.rs:LL:CC
3
3
|
4
-
LL | let _ptr = std::ptr::from_exposed_addr::<i32>(addr);
5
-
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ integer-to-pointer casts and `ptr::from_exposed_addr` are not supported with `-Zmiri-strict-provenance`
4
+
LL | let _ptr = std::ptr::with_exposed_provenance::<i32>(addr);
5
+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ integer-to-pointer casts and `ptr::with_exposed_provenance` are not supported with `-Zmiri-strict-provenance`
6
6
|
7
7
= help: use Strict Provenance APIs (https://doc.rust-lang.org/nightly/std/ptr/index.html#strict-provenance, https://crates.io/crates/sptr) instead
= help: This program is using integer-to-pointer casts or (equivalently) `ptr::from_exposed_addr`,
7
+
= help: This program is using integer-to-pointer casts or (equivalently) `ptr::with_exposed_provenance`,
8
8
= help: which means that Miri might miss pointer bugs in this program.
9
-
= help: See https://doc.rust-lang.org/nightly/std/ptr/fn.from_exposed_addr.html for more details on that operation.
9
+
= help: See https://doc.rust-lang.org/nightly/std/ptr/fn.with_exposed_provenance.html for more details on that operation.
10
10
= help: To ensure that Miri does not miss bugs in your program, use Strict Provenance APIs (https://doc.rust-lang.org/nightly/std/ptr/index.html#strict-provenance, https://crates.io/crates/sptr) instead.
11
-
= help: You can then pass the `-Zmiri-strict-provenance` flag to Miri, to ensure you are not relying on `from_exposed_addr` semantics.
11
+
= help: You can then pass the `-Zmiri-strict-provenance` flag to Miri, to ensure you are not relying on `with_exposed_provenance` semantics.
12
12
= help: Alternatively, the `-Zmiri-permissive-provenance` flag disables this warning.
LL | let x: &Foo = unsafe { &*(16 as *const Foo) };
5
5
| ^^^^^^^^^^^^^^^^^^ integer-to-pointer cast
6
6
|
7
-
= help: This program is using integer-to-pointer casts or (equivalently) `ptr::from_exposed_addr`,
7
+
= help: This program is using integer-to-pointer casts or (equivalently) `ptr::with_exposed_provenance`,
8
8
= help: which means that Miri might miss pointer bugs in this program.
9
-
= help: See https://doc.rust-lang.org/nightly/std/ptr/fn.from_exposed_addr.html for more details on that operation.
9
+
= help: See https://doc.rust-lang.org/nightly/std/ptr/fn.with_exposed_provenance.html for more details on that operation.
10
10
= help: To ensure that Miri does not miss bugs in your program, use Strict Provenance APIs (https://doc.rust-lang.org/nightly/std/ptr/index.html#strict-provenance, https://crates.io/crates/sptr) instead.
11
-
= help: You can then pass the `-Zmiri-strict-provenance` flag to Miri, to ensure you are not relying on `from_exposed_addr` semantics.
11
+
= help: You can then pass the `-Zmiri-strict-provenance` flag to Miri, to ensure you are not relying on `with_exposed_provenance` semantics.
12
12
= help: Alternatively, the `-Zmiri-permissive-provenance` flag disables this warning.
13
13
= note: BACKTRACE:
14
14
= note: inside `main` at $DIR/extern_types.rs:LL:CC
= help: This program is using integer-to-pointer casts or (equivalently) `ptr::from_exposed_addr`,
7
+
= help: This program is using integer-to-pointer casts or (equivalently) `ptr::with_exposed_provenance`,
8
8
= help: which means that Miri might miss pointer bugs in this program.
9
-
= help: See https://doc.rust-lang.org/nightly/std/ptr/fn.from_exposed_addr.html for more details on that operation.
9
+
= help: See https://doc.rust-lang.org/nightly/std/ptr/fn.with_exposed_provenance.html for more details on that operation.
10
10
= help: To ensure that Miri does not miss bugs in your program, use Strict Provenance APIs (https://doc.rust-lang.org/nightly/std/ptr/index.html#strict-provenance, https://crates.io/crates/sptr) instead.
11
-
= help: You can then pass the `-Zmiri-strict-provenance` flag to Miri, to ensure you are not relying on `from_exposed_addr` semantics.
11
+
= help: You can then pass the `-Zmiri-strict-provenance` flag to Miri, to ensure you are not relying on `with_exposed_provenance` semantics.
12
12
= help: Alternatively, the `-Zmiri-permissive-provenance` flag disables this warning.
13
13
= note: BACKTRACE:
14
14
= note: inside `main` at $DIR/issue-miri-2389.rs:LL:CC
0 commit comments