Skip to content

Add rustc(1). #1073

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

Merged
merged 1 commit into from
Oct 26, 2011
Merged

Add rustc(1). #1073

merged 1 commit into from
Oct 26, 2011

Conversation

elly
Copy link
Contributor

@elly elly commented Oct 26, 2011

Document the compiler a bit. Not installed yet as I don't understand automake
very well.

Signed-off-by: Elly Jones [email protected]

Document the compiler a bit. Not installed yet as I don't understand automake
very well.

Signed-off-by: Elly Jones <[email protected]>
brson added a commit that referenced this pull request Oct 26, 2011
@brson brson merged commit feb3e6e into rust-lang:master Oct 26, 2011
bors pushed a commit to rust-lang-ci/rust that referenced this pull request Oct 26, 2020
* Enforce linux style line endings to support WSL

If you clone in windows, but run under WSL, the line endings cause errors. This enforces linux style line endings.

* Update .gitattributes to use text=auto

Co-authored-by: bjorn3 <[email protected]>

Co-authored-by: bjorn3 <[email protected]>
coastalwhite pushed a commit to coastalwhite/rust that referenced this pull request Aug 5, 2023
celinval added a commit to celinval/rust-dev that referenced this pull request Jun 4, 2024
During codegen we were handling `dyn T` the same way as `&dyn T` which
was causing a bunch of type mismatch warnings.

To fix that, I first changed how we encode trait fat pointers. We
used to encode them as:

```
struct RefToTrait {
    void* data;
    Tag* vtable;
}
```

But now we encode them as:

```
struct RefToTrait {
    T* data;     // This is a typedef to void*.
    Tag* vtable;
}
```

Then I modified encoding `dyn T` to codegen a thin pointer `T*`. I had
also to modify places where we were forcing `void*` to be the type of
the `data` field.

* Fix vtable restriction after `dyn T` refactoring.

The vtable restriction code was relying on the fact that `dyn T` and
`&dyn T` were generating the same gotoc expression. Instead, we now
ensure that we pass the fat pointer type to the function that creates
the vtable call site.

* Fix Rc<dyn> and add a bunch of debug stuff.

I'm still seeing tons of type mismatch on std crate and unable to find
vtable warnings.

* Add testcase for issue-990

* Clean up code for PR

* Codegen unimplemented for dropping unsized struct

We were incorrectly handling them. I'm mitigation this issue for now and
I created a testcase.

Note: Without this mitigation but with the fix to fat
pointers not using void*, this was failing codegen of firecracker.

* Replace bool by Unit

* PR comments + better tests

* Add assertion and improve comments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants