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

script-servo is broken #289

Closed
Mark-Simulacrum opened this issue Oct 6, 2018 · 5 comments
Closed

script-servo is broken #289

Mark-Simulacrum opened this issue Oct 6, 2018 · 5 comments

Comments

@Mark-Simulacrum
Copy link
Member

...
error[E0597]: borrowed value does not live long enough
   --> collector/benchmarks/script-servo/target/debug/build/script-e1750e7c06f94680/out/Bindings/XMLDocumentBinding.rs:827:10
    |
827 |         &InterfaceConstructorBehavior::throw(),
    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ temporary value does not live long enough
...
830 |         3);
    |          - temporary value only lives until here
    |
    = note: borrowed value must be valid for the static lifetime...

error[E0597]: borrowed value does not live long enough
    --> collector/benchmarks/script-servo/target/debug/build/script-e1750e7c06f94680/out/Bindings/XMLHttpRequestBinding.rs:1950:10
     |
1950 |         &InterfaceConstructorBehavior::call(_constructor),
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ temporary value does not live long enough
...
1953 |         2);
     |          - temporary value only lives until here
     |
     = note: borrowed value must be valid for the static lifetime...

error[E0597]: borrowed value does not live long enough
    --> collector/benchmarks/script-servo/target/debug/build/script-e1750e7c06f94680/out/Bindings/XMLHttpRequestEventTargetBinding.rs:1024:10
     |
1024 |         &InterfaceConstructorBehavior::throw(),
     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ temporary value does not live long enough
...
1027 |         1);
     |          - temporary value only lives until here
     |
     = note: borrowed value must be valid for the static lifetime...

error[E0597]: borrowed value does not live long enough
   --> collector/benchmarks/script-servo/target/debug/build/script-e1750e7c06f94680/out/Bindings/XMLHttpRequestUploadBinding.rs:601:10
    |
601 |         &InterfaceConstructorBehavior::throw(),
    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ temporary value does not live long enough
...
604 |         2);
    |          - temporary value only lives until here
    |
    = note: borrowed value must be valid for the static lifetime...

error: aborting due to 259 previous errors

There are lots of these and I haven't really attempted to narrow down the exact problem so I can't say much more; if we don't think this is readily fixable then I can start exploring alternatives. I can reproduce with master of this repository with cargo check --manifest-path collector/benchmarks/script-servo/Cargo.toml --no-default-features

cc @nikomatsakis @pnkfelix -- possibly related to borrowck changes? Though I don't quite see how that could be as the crate doesn't seem to be using NLL.

@pnkfelix
Copy link
Member

pnkfelix commented Oct 7, 2018

Can you bisect to a nightly ?

@Mark-Simulacrum
Copy link
Member Author

Regression appears to be between 2018-10-04 and 2018-10-05 (rust-lang/rust@5597ee8 and rust-lang/rust@8c4ad4e; rust-lang/rust@5597ee8...8c4ad4e)

@Mark-Simulacrum
Copy link
Member Author

@pnkfelix Do you think you'll get a chance to look at this or should I try to allocate some time myself?

@mati865
Copy link
Contributor

mati865 commented Jan 28, 2019

script-servo now fails with:

error[E0119]: conflicting implementations of trait `dom::bindings::trace::JSTraceable` for type `fn(&_) -> _`:
   --> components/script/dom/bindings/trace.rs:435:1
    |
428 | unsafe impl JSTraceable for fn(A) -> B {
    | -------------------------------------------- first implementation here
...
435 | unsafe impl<\'a, A, B> JSTraceable for fn(&A) -> B {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `fn(&_) -> _`
    |
    = note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details

@nnethercote
Copy link
Contributor

I just pushed a fix for this.

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

No branches or pull requests

4 participants