-
Notifications
You must be signed in to change notification settings - Fork 39
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
Windows support is broken on the latest stable Rust version #48
Comments
I'm not sure what you mean by "is broken", but on my machine, it works but doesn't show any relevant symbols from my crate, only dependencies. and strangely, a fmt implementation. |
Hi Steve,
do you have a reproducer ? Is that the output of calling I should have added a link to the latest appveyor builds: https://ci.appveyor.com/project/gnzlbg/cargo-asm/branch/master Basically, for our test crate, it is able to find the right function, but printing the function name appears to be failing, and detecting the end of a function appears to be failing too sometimes. Without a windows machine it is hard to debug this :/ |
Ah, so this is struct List<T> {
item: T,
}
impl<T> List<T> {
fn push_back<T>(&mut self, T) So yeah, that'd be generic. Oops, I must have missed this restriction. Sorry about the spam :/ |
Don't worry, so yes, generic functions do not exist in the emitted machine code unless they are actually used (how could they when types are not specified?). If you want to generate the assembly for one you can just create a temporary function for that, e.g., pub fn list_push_back(l: &mut List<i32>, x: i32) {
l.push_back(x);
} you need to make it |
I did that and it works!
… On Sep 12, 2018, at 2:11 PM, gnzlbg ***@***.***> wrote:
Don't worry, so yes, generic functions do not exist in the emitted machine code unless they are actually used (how could they when types are not specified?). If you want to generate the assembly for one you can just create a temporary function for that, e.g.,
pub fn list_push_back(l: &mut List<i32>, x: i32) {
l.push_back(x);
}
you need to make it pub so that it is actually generated (if you don't use it, dead code elimination will remove it).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Why? no idea.
The text was updated successfully, but these errors were encountered: