948172b93f
Region pointers were considered a scalar type, so compare_scalar_type would get called to compare region pointers in trans. This would fail, since compare_scalar_type has no case for region pointers. Changed type_is_scalar to return false for region pointers. This had the side effect of breaking casts to types of the form &T. To ameliorate that, I added library functions ptr::assimilate (taking a &T to a *T) and ptr::to_uint (taking a &T to a uint), both of which use reinterpret_cast. While I was at it, I removed ty::type_has_resources, which is dead code.
4 lines
67 B
Rust
4 lines
67 B
Rust
fn main() {
|
|
let x = 3;
|
|
debug!{"&x=%x", ptr::to_uint(&x)};
|
|
} |