You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current code for handling bound regions is not right. We need to track node-ids uniformly and not only for free regions. Here is an example of a test case that fails. I have a partial fix for this, but not yet committed.
// Ensure that you cannot use generic types to return a region outside
// of its bound. Here, in the `return_it()` fn, we call with() but
// with R bound to &int from the return_it. Meanwhile, with()
// provides a value that is only good within its own stack frame. This
// used to successfully compile because we failed to account for the
// fact that fn(x: &int) rebound the region &.
fn with<R>(f: fn(x: &int) -> R) -> R {
f(&3)
}
fn return_it() -> &int {
with(|o| o) //~ ERROR mismatched types
//~^ ERROR reference is not valid outside of its lifetime
}
fn main() {
let x = return_it();
#debug["foo=%d", *x];
}
The text was updated successfully, but these errors were encountered:
// Similar to regions-ret-borrowed.rs, but using a named lifetime. At
// some point regions-ret-borrowed reported an error but this file did
// not, due to special hardcoding around the anonymous region.
fn with<R>(f: fn(x: &a/int) -> R) -> R {
f(&3)
}
fn return_it() -> &a/int {
with(|o| o) //~ ERROR mismatched types
//~^ ERROR reference is not valid outside of its lifetime
}
fn main() {
let x = return_it();
#debug["foo=%d", *x];
}
The values of environment variables in the benchcomp configuration file
can now contain strings of the form '${var}'. Benchcomp will replace
these strings with the value of the environment variable 'var'. This is
intended to allow users to have several benchcomp variants, each of
which differs only in the environment.
This fixesrust-lang#2981.
The current code for handling bound regions is not right. We need to track node-ids uniformly and not only for free regions. Here is an example of a test case that fails. I have a partial fix for this, but not yet committed.
The text was updated successfully, but these errors were encountered: