Matthias Krüger eb8114bad7
Rollup merge of #128277 - RalfJung:offset_from_wildcard, r=oli-obk
miri: fix offset_from behavior on wildcard pointers

offset_from wouldn't behave correctly when the "end" pointer was a wildcard pointer (result of an int2ptr cast) just at the end of the allocation. Fix that by expressing the "same allocation" check in terms of two `check_ptr_access_signed` instead of something specific to offset_from, which is both more canonical and works better with wildcard pointers.

The second commit just improves diagnostics: I wanted the "pointer is dangling (has no provenance)" message to say how many bytes of memory it expected to see (since if it were 0 bytes, this would actually be legal, so it's good to tell the user that it's not 0 bytes). And then I was annoying that the error looks so different for when you deref a dangling pointer vs an out-of-bounds pointer so I made them more similar.

Fixes https://github.com/rust-lang/miri/issues/3767
2024-07-29 11:42:34 +02:00
..
2024-07-28 03:11:54 +08:00
2024-07-12 11:52:04 -04:00
2024-07-18 00:00:04 +00:00
2024-07-14 13:50:09 +09:00
2024-07-18 14:32:10 +02:00
2024-07-19 23:27:42 +03:00
2024-07-06 14:24:20 +02:00
2024-07-02 02:30:38 +01:00
2024-07-28 03:11:54 +08:00
2024-07-24 21:03:27 +00:00
2024-07-24 21:03:27 +00:00
2024-07-12 03:22:32 +00:00
2024-07-21 21:42:10 +08:00
2024-07-24 08:46:52 +02:00
2024-07-24 21:03:27 +00:00
2024-07-22 22:51:53 +00:00
2024-07-24 21:03:27 +00:00

UI Tests

This folder contains rustc's UI tests.

Test Directives (Headers)

Typically, a UI test will have some test directives / headers which are special comments that tell compiletest how to build and intepret a test.

As part of an on-going effort to rewrite compiletest (see https://github.com/rust-lang/compiler-team/issues/536), a major change proposal to change legacy compiletest-style headers // <directive> to ui_test-style headers //@ <directive> was accepted (see https://github.com/rust-lang/compiler-team/issues/512.

An example directive is ignore-test. In legacy compiletest style, the header would be written as

// ignore-test

but in ui_test style, the header would be written as

//@ ignore-test

compiletest is changed to accept only //@ directives for UI tests (currently), and will reject and report an error if it encounters any comments // <content> that may be parsed as an legacy compiletest-style test header. To fix this, you should migrate to the ui_test-style header //@ <content>.