Skip to content

Implemented computing prestates and poststates for a few expression forms - #321

Closed
catamorphism wants to merge 2 commits into
rust-lang:masterfrom
catamorphism:typestate
Closed

Implemented computing prestates and poststates for a few expression forms#321
catamorphism wants to merge 2 commits into
rust-lang:masterfrom
catamorphism:typestate

Conversation

@catamorphism

Copy link
Copy Markdown
Contributor

Implemented computing prestates and poststates for a few expression forms.

The typestate checker (if it's uncommented) now correctly rejects a
trivial example program that has an uninitialized variable.

…orms.

The typestate checker (if it's uncommented) now correctly rejects a
trivial example program that has an uninitialized variable.
@graydon

graydon commented Apr 8, 2011

Copy link
Copy Markdown
Contributor

Integrated. Thanks!

@graydon graydon closed this Apr 8, 2011
arielb1 pushed a commit to arielb1/rust that referenced this pull request Apr 10, 2015
fix PR number for RFC 43 (box-not-special).
keeperofdakeys pushed a commit to keeperofdakeys/rust that referenced this pull request Dec 12, 2017
kazcw pushed a commit to kazcw/rust that referenced this pull request Oct 23, 2018
Looks like some instructions changed here and there, so this updates the
assertions (no behavior appears to have changed though)
dlrobertson pushed a commit to dlrobertson/rust that referenced this pull request Nov 29, 2018
Aaron1011 pushed a commit to Aaron1011/rust that referenced this pull request Oct 26, 2020
celinval pushed a commit to celinval/rust-dev that referenced this pull request Jun 4, 2024
Adds a recursive visitor pattern which can be used to transform goto symbol tables, as well as a default (identity transform) implementation.
noscripter pushed a commit to noscripter/rust that referenced this pull request Sep 8, 2025
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
321: More useful logging r=matklad a=matklad

Try not to log *huge* messages, to make logging more useful.

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
343: Bump arrayvec from 0.4.9 to 0.4.10 r=matklad a=dependabot[bot]

Bumps [arrayvec](https://github.com/bluss/arrayvec) from 0.4.9 to 0.4.10.
<details>
<summary>Commits</summary>

- [`21661fa`](bluss/arrayvec@21661fa) 0.4.10
- [`06930d2`](bluss/arrayvec@06930d2) FIX: Remove unused Copy/Clone for MaybeUninit
- [`85d9a06`](bluss/arrayvec@85d9a06) FIX: Use repr(C) MaybeUninit after discussion with RalfJung
- See full diff in [compare view](bluss/arrayvec@0.4.9...0.4.10)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=arrayvec&package-manager=cargo&previous-version=0.4.9&new-version=0.4.10)](https://dependabot.com/compatibility-score.html?dependency-name=arrayvec&package-manager=cargo&previous-version=0.4.9&new-version=0.4.10)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

**Note:** This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

You can always request more updates by clicking `Bump now` in your [Dependabot dashboard](https://app.dependabot.com).

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

Finally, you can contact us by mentioning @dependabot.

</details>

344: Bump itertools from 0.7.11 to 0.8.0 r=matklad a=dependabot[bot]

Bumps [itertools](https://github.com/bluss/rust-itertools) from 0.7.11 to 0.8.0.
<details>
<summary>Commits</summary>

- [`cd0602a`](rust-itertools/itertools@cd0602a) 0.8.0
- [`5a8f2fd`](rust-itertools/itertools@5a8f2fd) MAINT: Require Rust 1.24 as minimum version
- [`4986d92`](rust-itertools/itertools@4986d92) DOC: Minor edits to module docs
- [`01f15a0`](rust-itertools/itertools@01f15a0) Merge [rust-lang#288](https://github-redirect.dependabot.com/bluss/rust-itertools/issues/288)
- [`883d40a`](rust-itertools/itertools@883d40a) map_into method
- [`3bf265d`](rust-itertools/itertools@3bf265d) Merge pull request [rust-lang#321](https://github-redirect.dependabot.com/bluss/rust-itertools/issues/321) from JohnHeitmann/master
- [`e820996`](rust-itertools/itertools@e820996) Document the trait extension behavior of Itertools a bit more clearly
- [`44c9654`](rust-itertools/itertools@44c9654) Merge pull request [rust-lang#318](https://github-redirect.dependabot.com/bluss/rust-itertools/issues/318) from bluss/std-deprecations
- [`d2e254f`](rust-itertools/itertools@d2e254f) API: Fix the mystery deprecation message for Step
- [`602f2f6`](rust-itertools/itertools@602f2f6) API: Deprecate .foreach() in favour of std's .for_each()
- Additional commits viewable in [compare view](rust-itertools/itertools@0.7.11...0.8.0)
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=itertools&package-manager=cargo&previous-version=0.7.11&new-version=0.8.0)](https://dependabot.com/compatibility-score.html?dependency-name=itertools&package-manager=cargo&previous-version=0.7.11&new-version=0.8.0)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

**Note:** This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

You can always request more updates by clicking `Bump now` in your [Dependabot dashboard](https://app.dependabot.com).

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

Finally, you can contact us by mentioning @dependabot.

</details>

Co-authored-by: dependabot[bot] <support@dependabot.com>
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