Add some tests for local data + borrowed pointers

This commit is contained in:
Brian Anderson 2013-05-07 13:53:25 -07:00
parent 7b3e036252
commit 6bcc3a6c57
2 changed files with 30 additions and 0 deletions

View File

@ -215,3 +215,12 @@ fn test_tls_cleanup_on_failure() {
fail!();
}
}
#[test]
fn test_static_pointer() {
unsafe {
fn key(_x: @&'static int) { }
static VALUE: int = 0;
local_data_set(key, @&VALUE);
}
}

View File

@ -0,0 +1,21 @@
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// Testing that we can't store a borrowed pointer it task-local storage
use core::task::local_data::*;
fn key(_x: @&int) { }
fn main() {
unsafe {
local_data_set(key, @&0); //~ ERROR does not fulfill `'static`
}
}