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

Rollup of PRs in the queue; Friday #23337

Merged
merged 22 commits into from
Mar 13, 2015
Merged

Rollup of PRs in the queue; Friday #23337

merged 22 commits into from
Mar 13, 2015

Conversation

Manishearth
Copy link
Member

sanxiyn and others added 22 commits February 3, 2015 18:35
Currently, target.mk passes -L "" when LLVM_STDCPP_LOCATION_$(2) is empty.

This fixes rust-lang#23287.
Show how to get a pointer without destroying the box.
Use `boxed::into_raw` instead of `mem::transmute`.
It is no longer possible to specialize on the `Hasher` because it moved
to a method-level type parameter.
When this attribute is applied to a function, its return value gets the
noalias attribute, which is how you tell LLVM that the function returns
a "new" pointer that doesn't alias anything accessible to the caller,
i.e. it acts like a memory allocator.

Plain malloc doesn't need this attribute because LLVM already knows
about malloc and adds the attribute itself.
This adds a special code path for impls which are listed as default impls to
ensure that they're loaded correctly.
…=alexcrichton

 Fixes rust-lang#22656. Also adds a nice pretty printer for `Vec`.
…crichton

 ```rust
Rust:  let slice: &[i32] = &[0, 1, 2, 3];
GDB:   $1 = &[i32](len: 4) = {0, 1, 2, 3}

Rust:  let vec = vec![4, 5, 6, 7];
GDB:   $2 = Vec<u64>(len: 4, cap: 4) = {4, 5, 6, 7}

Rust:  let str_slice = \"IAMA string slice!\";
GDB:   $3 = \"IAMA string slice!\"

Rust:  let string = \"IAMA string!\".to_string();
GDB:   $4 = \"IAMA string!\"
```
Neat!
 This is the second time I've made this typo.
…r=brson

 This adds a special code path for impls which are listed as default impls to
ensure that they're loaded correctly.
 Show how to get a pointer without destroying the box.
Use `boxed::into_raw` instead of `mem::transmute`.

I removed the `let my_num: *const i32 = mem::transmute(my_num);` case altogether because we own the box, a `*mut` pointer is good anywhere a `*const` is needed, `from_raw` takes a mutable pointer and casting from a `*const` caused an ICE.
…, r=steveklabnik

 Fixed grammar errors (incorrect uses of commas and \"you're\" instead of \"your\") and broke up a long line.

r? @steveklabnik
 It is no longer possible to specialize on the `Hasher` because it moved to a method-level type parameter.
 When this attribute is applied to a function, its return value gets the
noalias attribute, which is how you tell LLVM that the function returns
a \"new\" pointer that doesn't alias anything accessible to the caller,
i.e. it acts like a memory allocator.

Plain malloc doesn't need this attribute because LLVM already knows
about malloc and adds the attribute itself.
 Currently, target.mk passes -L \"\" when LLVM_STDCPP_LOCATION_$(2) is empty.

This fixes rust-lang#23287.
 This implements a wish suggested in rust-lang#17410, detecting enum variants that are never constructed, even in the presence of `#[derive(Clone)]`. The implementation is general and not specific to `#[derive(Clone)]`.

r? @jakub-
@Manishearth
Copy link
Member Author

@bors: r+ p=20

@bors
Copy link
Contributor

bors commented Mar 13, 2015

@bors r=Manishearth 40b6464

@bors
Copy link
Contributor

bors commented Mar 13, 2015

⌛ Testing commit 40b6464 with merge f74f2c3...

@bors
Copy link
Contributor

bors commented Mar 13, 2015

💔 Test failed - auto-win-32-opt

@Manishearth
Copy link
Member Author

@bors: retry force clean

@bors
Copy link
Contributor

bors commented Mar 13, 2015

⌛ Testing commit 40b6464 with merge 9eb69ab...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup
Projects
None yet
Development

Successfully merging this pull request may close these issues.