Skip to content

Improve our tests to check instances and visitor#51

Merged
celinval merged 3 commits intorust-lang:mainfrom
celinval:instance-tests
Nov 20, 2023
Merged

Improve our tests to check instances and visitor#51
celinval merged 3 commits intorust-lang:mainfrom
celinval:instance-tests

Conversation

@celinval
Copy link
Copy Markdown
Contributor

@celinval celinval commented Nov 7, 2023

Add new checks to verify instance body and visitor.

Also fix an issue with the rustc script when running with custom toolchain.

@celinval
Copy link
Copy Markdown
Contributor Author

celinval commented Nov 7, 2023

Converting this into draft since it depends on changes from rust-lang/rust#117688.

@celinval
Copy link
Copy Markdown
Contributor Author

celinval commented Nov 7, 2023

r? @ouz-a

@ouz-a
Copy link
Copy Markdown

ouz-a commented Nov 8, 2023

lgtm!

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Nov 17, 2023
…er-errors

Misc changes to StableMIR required to Kani use case.

First, I wanted to say that I can split this review into multiple if it makes reviewing easier. I bundled them up, since I've been testing them together (See rust-lang/project-stable-mir#51 for the set of more thorough checks).

So far, this review includes 3 commits:

1. Add more APIs and fix `Instance::body`
    - Add more APIs to retrieve information about types.
    - Add a few more instance resolution options. For the drop shim, we return None if the drop body is empty. Not sure it will be enough.
    - Make `Instance::body()` return an Option<Body>, since not every instance might have an available body. For example, foreign instances, virtual instances, dependencies.
2. Fix a bug on MIRVisitor
    - We were not iterating over all local variables due to a typo.
3. Add more SMIR internal impl and callback return value
    - In cases like Kani, we will invoke the rustc_internal run command directly for now. It would be handly to be able to have a callback that can return a value.
    - We also need extra methods to convert stable constructs into internal ones, so we can break down the transition into finer grain commits.
    - For the internal implementation of Region, we're always returning `ReErased` for now.
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Nov 17, 2023
Rollup merge of rust-lang#117688 - celinval:smir-kani-reach, r=compiler-errors

Misc changes to StableMIR required to Kani use case.

First, I wanted to say that I can split this review into multiple if it makes reviewing easier. I bundled them up, since I've been testing them together (See rust-lang/project-stable-mir#51 for the set of more thorough checks).

So far, this review includes 3 commits:

1. Add more APIs and fix `Instance::body`
    - Add more APIs to retrieve information about types.
    - Add a few more instance resolution options. For the drop shim, we return None if the drop body is empty. Not sure it will be enough.
    - Make `Instance::body()` return an Option<Body>, since not every instance might have an available body. For example, foreign instances, virtual instances, dependencies.
2. Fix a bug on MIRVisitor
    - We were not iterating over all local variables due to a typo.
3. Add more SMIR internal impl and callback return value
    - In cases like Kani, we will invoke the rustc_internal run command directly for now. It would be handly to be able to have a callback that can return a value.
    - We also need extra methods to convert stable constructs into internal ones, so we can break down the transition into finer grain commits.
    - For the internal implementation of Region, we're always returning `ReErased` for now.
@celinval celinval marked this pull request as ready for review November 20, 2023 20:46
@celinval celinval merged commit 4188bdc into rust-lang:main Nov 20, 2023
rust-cloud-vms bot pushed a commit to makai410/rustc_public that referenced this pull request Aug 21, 2025
Add new checks to verify instance body and visitor. Also fix an issue with the rustc script when running with custom toolchain and add --bless option to `compiletest`.
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Mar 27, 2026
Add new checks to verify instance body and visitor. Also fix an issue with the rustc script when running with custom toolchain and add --bless option to `compiletest`.
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Mar 27, 2026
Add new checks to verify instance body and visitor. Also fix an issue with the rustc script when running with custom toolchain and add --bless option to `compiletest`.
makai410 pushed a commit to makai410/rustc_public that referenced this pull request Mar 27, 2026
Add new checks to verify instance body and visitor. Also fix an issue with the rustc script when running with custom toolchain and add --bless option to `compiletest`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants