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

Env elaborater doesn't handle canonically-bound vars correctly #670

Closed
jackh726 opened this issue Dec 28, 2020 · 0 comments · Fixed by #671
Closed

Env elaborater doesn't handle canonically-bound vars correctly #670

jackh726 opened this issue Dec 28, 2020 · 0 comments · Fixed by #671
Labels
C-chalk-solve Issues related to the chalk-solve crate

Comments

@jackh726
Copy link
Member

jackh726 commented Dec 28, 2020

#[test]
fn env_bound_vars() {
    test! {
        program {}
        goal {
            exists<'a> {
                if (WellFormed(&'a ())) {
                    WellFormed(&'a ())
                }
            }
        } yields {
            "Unique"
        }
        goal {
            exists<'a> {
                if (FromEnv(&'a ())) {
                    WellFormed(&'a ())
                }
            }
        } yields {
            "Unique"
        }
    }
}

currently gives this error:

thread 'test::misc::env_bound_vars' panicked at 'assertion failed: `(left == right)`
  left: `^1`,
 right: `^0`', <::std::macros::panic macros>:5:6
@jackh726 jackh726 added the C-chalk-solve Issues related to the chalk-solve crate label Dec 28, 2020
@bors bors closed this as completed in 1329e3a Jan 30, 2021
m-ou-se added a commit to m-ou-se/rust that referenced this issue Feb 2, 2021
Upgrade Chalk

~~Blocked on rust-lang/chalk#670~~
~~Now blocked on rust-lang/chalk#680 and release~~

In addition to the straight upgrade, I also tried to fix some tests by properly returning variables and max universes in the solution. Unfortunately, this actually triggers the same perf problem that rustc traits code runs into in `canonicalizer`. Not sure what the root cause of this problem is, or why it's supposed to be solved in chalk.

r? `@nikomatsakis`
jackh726 added a commit to jackh726/rust that referenced this issue Feb 2, 2021
Upgrade Chalk

~~Blocked on rust-lang/chalk#670~~
~~Now blocked on rust-lang/chalk#680 and release~~

In addition to the straight upgrade, I also tried to fix some tests by properly returning variables and max universes in the solution. Unfortunately, this actually triggers the same perf problem that rustc traits code runs into in `canonicalizer`. Not sure what the root cause of this problem is, or why it's supposed to be solved in chalk.

r? ``@nikomatsakis``
jackh726 added a commit to jackh726/rust that referenced this issue Feb 2, 2021
Upgrade Chalk

~~Blocked on rust-lang/chalk#670~~
~~Now blocked on rust-lang/chalk#680 and release~~

In addition to the straight upgrade, I also tried to fix some tests by properly returning variables and max universes in the solution. Unfortunately, this actually triggers the same perf problem that rustc traits code runs into in `canonicalizer`. Not sure what the root cause of this problem is, or why it's supposed to be solved in chalk.

r? ```@nikomatsakis```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-chalk-solve Issues related to the chalk-solve crate
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant