Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lifetime Annotations and Inference #314

Merged
merged 166 commits into from
Sep 3, 2023
Merged

Lifetime Annotations and Inference #314

merged 166 commits into from
Sep 3, 2023

Conversation

thepowersgang
Copy link
Owner

Although the branch is called borrowcheck - this is just the first half of a borrow checker.

Includes:

  • Storage and use of lifetime parameters through all compilation phases.
  • Lifetime elision rules
  • Lifetime inference - hecking of function inputs and outputs, required for closures to have lifetime annotations
  • Lots of improvements to promotion of borrows of constants.

# Conflicts:
#	src/hir_expand/static_borrow_constants.cpp
# Conflicts:
#	rustc-1.29.0-src.patch
#	src/ast/ast.hpp
#	src/hir/expr.cpp
#	src/hir_typeck/monomorph.hpp
#	src/trans/auto_impls.cpp
#	tools/mir_opt_test/tests/misc_issues.rs
@thepowersgang
Copy link
Owner Author

Looks like an important patch was clobbered in the merge from master, waiting for full regression test with fixed patch.

@thepowersgang
Copy link
Owner Author

Full regression run passes!

@thepowersgang thepowersgang merged commit 5af6405 into master Sep 3, 2023
16 checks passed
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.

1 participant