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

'Test with nightly rustc' job is failing. #29467

Closed
mukilan opened this issue Mar 6, 2023 · 0 comments
Closed

'Test with nightly rustc' job is failing. #29467

mukilan opened this issue Mar 6, 2023 · 0 comments
Assignees

Comments

@mukilan
Copy link
Member

mukilan commented Mar 6, 2023

'Test with nightly rustc' job is failing due to API changes in most recent nightly rustc breaking the script_plugin crate.

error[E0308]: mismatched types
   --> components/script_plugins/lib.rs:220:54
    |
220 |                 if is_unrooted_ty(&self.symbols, cx, field_type, false) {
    |                    --------------                    ^^^^^^^^^^ expected `Ty<'_>`, found `EarlyBinder<Ty<'_>>`
    |                    |
    |                    arguments to this function are incorrect
    |
    = note: expected struct `rustc_middle::ty::Ty<'_>`
               found struct `EarlyBinder<rustc_middle::ty::Ty<'_>>`
note: function defined here
   --> components/script_plugins/lib.rs:96:4
    |
96  | fn is_unrooted_ty<'tcx>(
    |    ^^^^^^^^^^^^^^
...
99  |     ty: ty::Ty<'tcx>,
    |     ----------------

error[E0308]: mismatched types
   --> components/script_plugins/lib.rs:243:62
    |
243 |                         if is_unrooted_ty(&self.symbols, cx, field_type, false) {
    |                            --------------                    ^^^^^^^^^^ expected `Ty<'_>`, found `EarlyBinder<Ty<'_>>`
    |                            |
    |                            arguments to this function are incorrect
    |
    = note: expected struct `rustc_middle::ty::Ty<'_>`
               found struct `EarlyBinder<rustc_middle::ty::Ty<'_>>`
note: function defined here
   --> components/script_plugins/lib.rs:96:4
    |
96  | fn is_unrooted_ty<'tcx>(
    |    ^^^^^^^^^^^^^^
...
99  |     ty: ty::Ty<'tcx>,
    |     ----------------

error[E0599]: no method named `fn_sig` found for struct `EarlyBinder` in the current scope
   --> components/script_plugins/lib.rs:276:46
    |
276 |             let sig = cx.tcx.type_of(def_id).fn_sig(cx.tcx);
    |                                              ^^^^^^ method not found in `EarlyBinder<Ty<'_>>`
    |
help: one of the expressions' fields has a method of the same name
    |
276 |             let sig = cx.tcx.type_of(def_id).0.fn_sig(cx.tcx);
    |                                              ++

Some errors have detailed explanations: E0308, E0599.
For more information about an error, try `rustc --explain E0308`.
error: could not compile `script_plugins` due to 3 previous errors

This PR is the corresponding change in rustc which introduced the API change.

The fix might be as simple as adding .skip_binder() to the Ty argument in the call sites of is_unrooted_ty function, but I'm not confident in my knowledge rustc internals to say if this will change the semantics of the lint. I'm currently looking into this, but appreciate any pointers.

@mukilan mukilan self-assigned this Mar 6, 2023
bors-servo added a commit that referenced this issue Jun 4, 2023
Update to latest rustc nightly.

This fixes the build errors in the nightly update job. Fixes #29467.
bors-servo added a commit to servo/webxr that referenced this issue Jun 24, 2023
Update to ipc-channel v0.16 & crossbeam-channel v0.5

ipc-channel used in servo needs to bumped to 0.16.1 to complete servo/servo#29467, but that requires the same version to be used by webxr crates as well.
mukilan added a commit to mukilan/servo that referenced this issue Jul 12, 2023
This requires fixing some nightly APIs that have been
changed in the latest nightly compiler.

For reference, the PR in rustc for the API change in
rustc crate: rust-lang/rust#107753

The tracking issue for the 'drain_filter' which is renamed
to 'extract_if': rust-lang/rust#43244

Fixes servo#29467

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
@mukilan mukilan mentioned this issue Jul 12, 2023
5 tasks
bors-servo added a commit that referenced this issue Jul 12, 2023
Update rustc nightly

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #29467
-
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because this is updating the rustc version
bors-servo added a commit that referenced this issue Jul 13, 2023
Update rustc nightly

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #29467
-
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because this is updating the rustc version
mukilan added a commit to mukilan/servo that referenced this issue Jul 13, 2023
This requires fixing some nightly APIs that have been
changed in the latest nightly compiler.

For reference, the PR in rustc for the API change in
rustc crate: rust-lang/rust#107753

The tracking issue for the 'drain_filter' which is renamed
to 'extract_if': rust-lang/rust#43244

Fixes servo#29467

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
bors-servo added a commit that referenced this issue Jul 13, 2023
Update rustc nightly

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #29467
-
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because this is updating the rustc version
mukilan added a commit to mukilan/servo that referenced this issue Jul 14, 2023
This requires fixing some nightly APIs that have been
changed in the latest nightly compiler.

For reference, the PR in rustc for the API change in
rustc crate: rust-lang/rust#107753

The tracking issue for the 'drain_filter' which is renamed
to 'extract_if': rust-lang/rust#43244

Fixes servo#29467

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
bors-servo added a commit that referenced this issue Jul 14, 2023
Update rustc nightly

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #29467
-
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because this is updating the rustc version
@mrobinson mrobinson closed this as not planned Won't fix, can't repro, duplicate, stale Mar 15, 2024
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 a pull request may close this issue.

2 participants