diff options
Diffstat (limited to 'src/test/ui/span/regions-escape-loop-via-variable.rs')
-rw-r--r-- | src/test/ui/span/regions-escape-loop-via-variable.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/ui/span/regions-escape-loop-via-variable.rs b/src/test/ui/span/regions-escape-loop-via-variable.rs new file mode 100644 index 000000000..ad468896b --- /dev/null +++ b/src/test/ui/span/regions-escape-loop-via-variable.rs @@ -0,0 +1,14 @@ +fn main() { + let x = 3; + + // Here, the variable `p` gets inferred to a type with a lifetime + // of the loop body. The regionck then determines that this type + // is invalid. + let mut p = &x; + + loop { + let x = 1 + *p; + p = &x; + } + //~^^ ERROR `x` does not live long enough +} |