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

Fix source tarballs and make distcheck test a little more. #13223

Merged
merged 3 commits into from
Mar 31, 2014

Conversation

brson
Copy link
Contributor

@brson brson commented Mar 31, 2014

No description provided.

brson added 3 commits March 30, 2014 21:13
Mac can't actually build our source tarballs because it's `tar`
command doesn't support the --exclude-vcs flag. This is just
a workaround to make our mac nightlies work (we get our source
tarballs from the linux bot).
bors added a commit that referenced this pull request Mar 31, 2014
bors added a commit that referenced this pull request Mar 31, 2014
@bors bors closed this Mar 31, 2014
@bors bors merged commit d2686c7 into rust-lang:master Mar 31, 2014
notriddle pushed a commit to notriddle/rust that referenced this pull request Sep 20, 2022
…odiebold

fix: handle lifetime variables in projection normalization

Fixes rust-lang#12674

The problem is that we've been skipping the binders of normalized projections assuming they should be empty, but the assumption is unfortunately wrong. We may get back lifetime variables and should handle them before returning them as normalized projections. For those who are curious why we get those even though we treat all lifetimes as 'static, [this comment in chalk](https://github.com/rust-lang/chalk/blob/d875af0ff196dd6430b5f5fd87a640fa5ab59d1e/chalk-solve/src/infer/unify.rs#L888-L908) may be interesting.

I thought using `InferenceTable` would be cleaner than the other ways as it already has the methods for canonicalization, normalizing projection, and resolving variables, so moved goal building and trait solving logic to a new `HirDatabase` query. I made it transparent query as the query itself doesn't do much work but the eventual call to `HirDatabase::trait_solve_query()` does.
notriddle pushed a commit to notriddle/rust that referenced this pull request Sep 20, 2022
…ykril

fixup: remove unnecessary `Option`

Fixup for rust-lang#13223, two things:

- `normalize_projection_query()` (and consequently `HirDatabase::normalize_projection()`) never returns `None` (well, it used to when I first wrote it...), so just return `Ty` instead of `Option<Ty>`
- When chalk cannot normalize projection uniquely, `normalize_trait_assoc_type()` used to return `None` before rust-lang#13223, but not anymore because of the first point. I restored the behavior so its callers work as before.
arcnmx pushed a commit to arcnmx/rust that referenced this pull request Jan 9, 2023
…undvars, r=lowr

fix: handle lifetime variables in `CallableSig` query

Fixes rust-lang#13838

The problem is similar to rust-lang#13223: we've been skipping non-empty binders, letting lifetime bound variables escape.

I ended up refactoring `hir_ty::callable_sig_from_fnonce()`. Like rust-lang#13223, I chose to make use of `InferenceTable` which is capable of handling variables (I feel we should always use it when we solve trait-related stuff instead of manually building obligations/queries).

I couldn't make up a test that crashes without this patch (since the function I'm fixing is only used *outside* `hir-ty`, simple `hir-ty` test wouldn't cause crash), but at least I tested with my local build and made sure it doesn't crash with the code in the original issue. I'd appreciate any help to find a regression test.
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.

3 participants