Commit graph

57 commits

Author SHA1 Message Date
Georg Brandl
d729f005dd servo: Merge #7007 - Fix minor typo in lint docstring (from birkenfeld:patch-1); r=Ms2ger
It checks for public, not private fields.

Source-Repo: https://github.com/servo/servo
Source-Revision: 96cb8261e648e2a9bda46263430665e2aedf2eae
2015-08-07 08:10:07 -06:00
Manish Goregaokar
e0cbb5fff4 servo: Merge #6945 - If let is not an issue for lints (from Manishearth:fixedme); r=jdm
r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: b7e592443f56f3ca61e12c9e777c55ac2a3ebcd0
2015-08-04 14:38:31 -06:00
Patrick Walton
df3f7bbb6d servo: Merge #6855 - plugins: Forbid trait casts of rooted objects (from pcwalton:more-rooting-soundness); r=Manishearth
r? @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: fd211dcc92b57a94dabd6bea556d0f4837289ffd
2015-07-30 18:20:53 -06:00
Simon Sapin
72eb9c272a servo: Merge #6850 - Upgrade to rustc 1.3.0-dev (87055a68c 2015-07-30) (from servo:rustup_2015-07-30); r=SimonSapin
This builds and passes unit tests.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4837dd9a1c172a55bfad0a7ae67dc3b64753be9a
2015-07-30 14:46:13 -06:00
Manish Goregaokar
d990887177 servo: Merge #6688 - Handle type parameters in unused_must_root (from Manishearth:smarter-root-lint); r=jdm
fixes #6651

Source-Repo: https://github.com/servo/servo
Source-Revision: 8a6681ba70c4e8dc524aff7b8fbc3c71167e8745
2015-07-22 07:05:31 -06:00
Simon Sapin
8423111051 servo: Merge #6548 - Upgrade to rustc 1.3.0-dev (f3b97a74a 2015-07-03) (from servo:rustup_2015-07-03); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: f5f64dab749d0851ef82be3cdc7fb2bd1cb09956
2015-07-03 21:47:02 -06:00
David Winslow
b9c1f245a1 servo: Merge #6529 - Refactor #[jstraceable] to #[derive(JSTraceable)] (from dwins:master); r=Manishearth
fixes #6524.  I had to make an additional change not mentioned in the ticket - adding the `#[feature]` to enable deriving custom traits but I assume that's expected at this time.

Source-Repo: https://github.com/servo/servo
Source-Revision: bbb39082e0f640400546d2084a450a8675820a82
2015-07-01 18:27:40 -06:00
Ms2ger
18fd8097a2 servo: Merge #6459 - Update to rustc 2d0cbf3e3e25e092bd9e4c94d08e446b680869f0 (from servo:rustup_20150625); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 21b48fc44d0b32627918b4778fed16203eecdba5
2015-06-25 12:03:15 -06:00
Michael Wu
7512d04e93 servo: Merge #6150 - Upgrade to Spidermonkey 39 (from servo:smupgrade3); r=mbrubeck
> Here it is.
>
> ~~There's two major things that are unfinished here:~~
> - ~~Dealing with the unroot_must_root lint. I'm not sure about the value of this lint with the new rooting API.~~ Done.
> - ~~Updating the Cargo.locks to point to the new SM and SM binding.~~ Done.
>
> I also included my fixes for the rust update, but these will disappear in a rebase. A rust update is necessary to support calling `Drop` on `Heap<T>` correctly when `Heap<T>` is inside a `Rc<T>`. Otherwise `&self` points to the wrong location.
>
> Incremental GC is disabled here. I'm not sure how to deal with the incremental barriers so that's left for later.
>
> Generational GC works. SM doesn't work without it.
>
> The biggest change here is to the rooting API. `Root` was made movable, and `Temporary` and `JSRef` was removed. Movable `Root`s means there's no need for `Temporary`, and `JSRef`s aren't needed generally since it can be assumed that being able to obtain a reference to a dom object means it's already rooted. References have their lifetime bound to the Roots that provided them. DOM objects that haven't passed through `reflect_dom_object` don't need to be rooted, and DOM objects that have passed through `reflect_dom_object` can't be obtained without being rooted through `native_from_reflector_jsmanaged` or `JS::<T>::root()`.
>
> Support for `Heap<T>` ended up messier than I expected. It's split into two commits, but only because it's a bit difficult to fold them together. Supporting `Heap<T>` properly requires that that `Heap::<T>::set()` be called on something that won't move. I removed the Copy and Clone trait from `Heap<T>` so `Cell` can't hold `Heap<T>` - only `UnsafeCell` can hold it.
>
> `CallbackObject` is a bit tricky - I moved all callbacks into `Rc<T>` in order to make sure that the pointer inside to a `*mut JSObject` doesn't move. This is necessary for supporting `Heap<T>`.
>
> `RootedCollectionSet` is very general purpose now. Anything with `JSTraceable` can be rooted by `RootedCollectionSet`/`RootedTraceable`. Right now, `RootedTraceable` is only used to hold down dom objects before they're fully attached to their reflector. I had to make a custom mechanism to dispatch the trace call - couldn't figure out how to get trait objects working for this case.
>
> This has been tested with the following zeal settings:
>
> GC after every allocation
> JS_GC_ZEAL=2,1
>
> GC after every 100 allocations (important for catching use-after-free bugs)
> JS_GC_ZEAL=2,100
>
> Verify pre barriers
> JS_GC_ZEAL=4,1
>
> Verify post barriers
> JS_GC_ZEAL=11,1

Source-Repo: https://github.com/servo/servo
Source-Revision: e7808c526c348fea5e3b48af70b7f1a066652097
2015-06-19 16:46:55 -06:00
Manish Goregaokar
b6e7083252 servo: Merge #6377 - Upgrade to rustc 1.2.0-nightly (6e7fcc44a 2015-06-13) (from servo:rustup_20140614); r=SimonSapin
See #6376

r? @Ms2ger

Snaps don't exist yet, putting up the @larsbergstrom signal. The snap need not exactly match this commit, anything in the vicinity, or just master, should work really. (yay stability)


There's no particular reason behind this rustup except that I want to keep Servo running on almost-master as much as possible.

Source-Repo: https://github.com/servo/servo
Source-Revision: 67b121c0b82f4a2107d7b015f60bd025e04dc336
2015-06-15 10:33:14 -06:00
Brian Anderson
72f556065f servo: Merge #6297 - Convert inline(always) to inline in CodegenRust and jstraceable (from brson:inline); r=jdm
This results in a 14% compile time improvement.

See https://gist.github.com/brson/b48dd03b06c406be68e6

I'm not suggesting you merge this as-is, but you might consider whether removing some of these is worth pursuing.

Source-Repo: https://github.com/servo/servo
Source-Revision: 78665336e6a3d57e43610365f52ce038ba0d9e8b
2015-06-06 08:25:29 -05:00
Manish Goregaokar
96973b6240 servo: Merge #6188 - Add plugin for autoderiving HeapSize (from Manishearth:sizeof); r=nnethercote
Fixes #5914

r? @nnethercote for the gfx changes

r? @kmcallister or @jdm for the plugin

Source-Repo: https://github.com/servo/servo
Source-Revision: 2ca606aaba432741ce4e8274835f26db3a3581fc
2015-06-02 23:48:03 -05:00
Manish Goregaokar
2d55a77795 servo: Merge #6243 - Upgrade to rustc 1.2.0-dev (474c6e0ae 2015-05-30) (from servo:rustup_20150601); r=nox
cc @nox

r? @Ms2ger @kmcallister @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 83a0b7822181b26862f26fd0cd1da02da7ea6210
2015-06-01 11:45:42 -05:00
Corey Farwell
333cc6c59d servo: Merge #6174 - Reduce max line length from 150 to 120 characters (from frewsxcv:cleanup-long-lines); r=SimonSapin
Part of https://github.com/servo/servo/issues/6041

Source-Repo: https://github.com/servo/servo
Source-Revision: 542519ebfd073662bc9421ac5fa0aa01ebc0d6fe
2015-05-24 18:27:26 -05:00
Manish Goregaokar
cf38062366 servo: Merge #6156 - Fix deprecated plugin APIs (from Manishearth:warn_fix); r=larsbergstrom
r? @larsbergstrom


(The diff is borked here, but I only just added `if let`s and wrapped/unwrapped in `Annotatable`s)

Source-Repo: https://github.com/servo/servo
Source-Revision: ef7fa99bd2c4ff52be1c6361d9f1eca3775c88c5
2015-05-21 13:27:27 -05:00
Lars Bergstrom
0be1747830 servo: Merge #6155 - Rustup to 1.2.0 (from servo:rustup_2015-05-21); r=Manishearth
r? @Manishearth

(there's just the one plugins-related change required)

Source-Repo: https://github.com/servo/servo
Source-Revision: a0fccea670124d5ccfef1c13fe1b5d2e58891236
2015-05-21 10:50:53 -05:00
Manish Goregaokar
bfbc7a20aa servo: Merge #6151 - Upgrade rust to 716f920b7e234b450f272346fea961832505c06e (from servo:rustup-2015_05_13); r=larsbergstrom
(Tue May 19 05:39:29 2015 +0000)

Source-Repo: https://github.com/servo/servo
Source-Revision: 7ae5d1129f9fd1227678db9ad26471727dc9fa27
2015-05-20 18:23:13 -05:00
Peter
67ce0c76d2 servo: Merge #6074 - Allows the unrooted_must_root lint to deal with struct variant enums, #6069 (from pgonda:lint-fix-struct-enum-variants); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: d68730a0fc755149c1093021e34e7d34693429b7
2015-05-20 10:29:48 -05:00
Simon Sapin
95c8716656 servo: Merge #5935 - Upgrade Rust (from servo:rustup_2015-04-25); r=Ms2ger
r? everybody

Source-Repo: https://github.com/servo/servo
Source-Revision: 49aed6555dbc008c1a378c5cbb303f5467232b6b
2015-05-05 09:11:30 -05:00
Manish Goregaokar
e158f4fca9 servo: Merge #5855 - Add move protection to Root and friends (from Manishearth:nomove); r=kmc,munksgaard
fixes #5724, #5737


uses https://github.com/Manishearth/rust-tenacious (can be moved in-tree if needed)

I can make it `Deny` by default too (I'll add a cargo feature to tenacious), though we might want it on
`Warn` until we get some mileage on it.

Source-Repo: https://github.com/servo/servo
Source-Revision: d7987e43c944eb9b156bf3244c08fce4cb570db4
2015-04-27 23:14:25 -05:00
Ms2ger
374d18472e servo: Merge #5827 - Use as_slice less (from Ms2ger:slice); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 79be3b967668e46a4289f4fc8fce2b4f457cab23
2015-04-24 12:12:53 -05:00
Utkarsh Kukreti
363eb1983b servo: Merge #5523 - Use quasiquotes for attributes in plugins crate (from servo:use-quasiquote-for-attributes); r=jdm
Fixes #5157.

Source-Repo: https://github.com/servo/servo
Source-Revision: d38fca6ed629dc52d030e3ba0d8eb18a39e35a0c
2015-04-07 01:57:08 -05:00
Ms2ger
d5ae5a73b2 servo: Merge #5324 - Remove allow(missing_copy_implementations) attributes (from Ms2ger:missing_copy_implementations); r=jdm
This is now the default.

Source-Repo: https://github.com/servo/servo
Source-Revision: b1a35f549baad871a3691ae485af2efecd2d73f7
2015-03-23 08:45:50 -06:00
Ms2ger
ed37ff9cb6 servo: Merge #5303 - Update some code that's feature-gated under core (from Ms2ger:core); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 43f3f6c897916aea75773f74060ec84a338834d0
2015-03-21 12:57:46 -06:00
Ms2ger
66cb126a50 servo: Merge #5256 - Upgrade rustc to d3c49d2140fc65e8bb7d7cf25bfe74dda6ce5ecf/rustc-1.0.0-de (from servo:rustup_20150311); r=jdm
...v.

Relies on:
* https://github.com/servo/rust-geom/pull/72
* https://github.com/servo/rust-glx/pull/10
* https://github.com/servo/gleam/pull/15
* https://github.com/servo/rust-mozjs/pull/137
* https://github.com/servo/rust-core-text/pull/35
* https://github.com/servo/rust-io-surface/pull/28

Source-Repo: https://github.com/servo/servo
Source-Revision: 99cf9dbfc107bacb84dfe5afa9539a0ede3beac2
2015-03-18 11:25:00 -06:00
Ms2ger
a68f18c6b7 servo: Merge #5201 - Remove plugin attributes from extern crates (from Ms2ger:plugins); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 27a76f14b2baa58946004e17f4a417344a43e0a5
2015-03-11 21:42:48 -06:00
Ms2ger
51c90c3967 servo: Merge #4914 - Cleanup match_lang_ty a bit (from Ms2ger:match_lang_ty); r=saneyuki
Source-Repo: https://github.com/servo/servo
Source-Revision: 736c58067064a421f732dae118fde811b50b8aa6
2015-02-13 23:21:49 -07:00
Ms2ger
c1db4c4e1b servo: Merge #4924 - Fix some warnings (from servo:warnings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 9c476a290aa493404a8e5953d0e813cb68c4c434
2015-02-13 07:36:50 -07:00
Simon Sapin
da87abc762 servo: Merge #4893 - Upgrade to rustc ba2f13ef0 2015-02-04 (from servo:rustup_2015-01-31); r=Ms2ger,glennw
Ready for review.

Final link step on android fails, but we know how to fix it and will add it to this branch soon.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2cc08f289ab909de44fa09a07b2c43b70ce379b9

--HG--
rename : servo/ports/gonk/build.rs => servo/support/rust-task_info/build.rs
2015-02-11 17:24:45 -07:00
Josh Matthews
7b3305eafe servo: Merge #4881 - Allow unused variables, imports, and mutable (from jdm:allowunused); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 7048291dc0db4efecf9c13779feeb5e022210123
2015-02-09 16:45:47 -07:00
Arpad Borsos
1cfeb000f6 servo: Merge #4815 - Lowercase DOM getters at compile time, fixes #4728 (from Swatinem:lowercasegetters); r=Manishearth
The implementation was copied directly from
https://github.com/rust-lang/rust/pull/16636
and updated for rust changes, so the credit goes to @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 902c16497c40684930819693a7e90f0862eb7f56
2015-02-03 17:09:53 -07:00
Josh Matthews
78741af324 servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3f9012864a2cd927cf17a8e11dfa6922add1b7df
2015-01-27 18:15:50 -07:00
Ms2ger
190438fa42 servo: Merge #4682 - Move to to_owned rather than into_string (from servo:to_owned); r=jdm
into_string has been removed from Rust.

Source-Repo: https://github.com/servo/servo
Source-Revision: 94ebc7c32d5ce58ada3f9d8ffdb60cc025eb5997
2015-01-20 07:54:46 -07:00
Matthew Rasmus
66118e1666 servo: Merge #4575 - Post-rustup warning fixes (from mttr:warnings); r=jdm
Notes:

* This adds `#![allow(missing_copy_implementations)]` to components/*/lib.rs. I'm not sure how to approach the missing Copy warnings (are there things for which Copy should NOT be implemented, and how can I tell?) so I stuck this in to make life easier when looking through the warnings. I can easily remove this if necessary.
* This leaves the following type of warnings, which I couldn't figure out how to approach (I'll investigate it later if no one else wants to).
```
css/matching.rs:72:23: 72:35 warning: use of deprecated item: Use overloaded core::cmp::PartialEq, #[warn(deprecated)] on by default
css/matching.rs:72         this_as_query.equiv(other)
                                         ^~~~~~~~~~~~
css/matching.rs:95:10: 95:49 warning: use of deprecated item: Use overloaded core::cmp::PartialEq, #[warn(deprecated)] on by default
css/matching.rs:95 impl<'a> Equiv<ApplicableDeclarationsCacheEntry> for ApplicableDeclarationsCacheQuery<'a> {
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 0793137631cbe4ebbff8fb85639206ce8e41bbb7
2015-01-08 16:03:55 -07:00
Ms2ger
320a27a169 servo: Merge #4574 - Remove if_let feature gates (from Ms2ger:if_let); r=Manishearth
This feature is now supported unconditionally.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4cd9eb1253a764e8794f004a96112f4127687708
2015-01-08 14:42:53 -07:00
Manish Goregaokar
c16b656fa6 servo: Merge #4541 - Ban Cell<JS<T>> and Cell<JSVal<T>> (partial #4336) (from Manishearth:ban-stuff); r=jdm
Didn't do the `Vec<Temporary<T>>` banning since we might want to whitelist something there. I'll work on that next.

Source-Repo: https://github.com/servo/servo
Source-Revision: ec474ae835586c14ec4e1fb72196f2bc211f865f
2015-01-08 09:30:54 -07:00
Ms2ger
e5578c14fd servo: Merge #4554 - Update rustc to revision 2cfb5acb5a2751c759627377e602bac4f88f2d19 (from servo:rustup_20141221); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1d7148c79f9124779a910fd5291c5fa0543b2dae
2015-01-08 08:00:57 -07:00
Ms2ger
d2998d7483 servo: Merge #4527 - Remove spurious spaces from lints/mod.rs (from Ms2ger:indentation-plugins); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: f41324c2a1e7625075389fabb4cfd636c5617cb1
2015-01-01 13:27:43 -07:00
Rohan Prinja
68992e04cf servo: Merge #4521 - break up lints.rs into separate files (from ajnirp:separate-lints); r=Manishearth
for #4509

Source-Repo: https://github.com/servo/servo
Source-Revision: 685dec1abc61402ab22db93f4a362a58f8377d68
2015-01-01 01:33:41 -07:00
Manish Goregaokar
3615fd0c7e servo: Merge #4488 - Add a lint for usages of to_string() (from servo:into_string-lint); r=jdm
This is a rebase of #4366.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0da57abec6014f8a6edde9781598053deab996c7
2014-12-31 05:00:52 -07:00
Simon Sapin
be24ce4c79 servo: Merge #4455 - Start using the ToCss trait, to be used for CSS serialization (from servo:to_css); r=jdm
See https://github.com/servo/rust-cssparser/pull/67 and https://github.com/servo/servo/issues/4440.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: b3059ee85b71b067e4b9e337faef53ae4a96c66d
2014-12-29 16:33:41 -07:00
Manish Goregaokar
e0c8a4271d servo: Merge #4173 - plugins: Autogeneration of Reflectable; Inheritance lint (from Manishearth:a-more-dom-struct); r=kmcallister
Now `#[dom_struct]` also generates Reflectable impls, and there's another lint to ensure that a DOM struct only contains one bare DOM field (as the first field) or a Reflector.

A lot of this was generated by sed -- each autogenerated change has its own commit for easy review; these will be squashed later.

Source-Repo: https://github.com/servo/servo
Source-Revision: 56d1b16d1b3a18d5ffa1d9c32562d3b209851711
2014-12-27 22:12:45 -07:00
Manish Goregaokar
5748bfcbf9 servo: Merge #4489 - plugins: Fix transmute lint message (from Manishearth:transmute-lint-fix); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: b139574cdc3ce622568253e0ff9d2e1750128b26
2014-12-27 09:10:02 -07:00
Simon Sapin
b308cce0c9 servo: Merge #4420 - Fix warnings (from servo:fix-warnings); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: eea49ee1d986c306a8eec32b64be9b10cb2278fc
2014-12-18 04:42:50 -07:00
Glenn Watson
b185394a0f servo: Merge #4405 - Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d (from servo:rustup_20141124); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: fbf42c951b2f53d91e2f32f8035484a07ea83493
2014-12-17 18:45:49 -07:00
Chris Manchester
801f0adcea servo: Merge #4189 - Return early and decline analysis when linting within unsafe functions; fixes #3658 (from chmanchester:rootlint); r=jdm
I think this matches the intent of the issue, I'm a rust/servo novice; any suggestions for improvements are welcome. Thanks!

Source-Repo: https://github.com/servo/servo
Source-Revision: 2615be9bab984c8356bc053f90452d6f9fdaa241
2014-12-11 15:57:58 -07:00
Claes 'Letharion' Gyllensvärd
91a5610f1a servo: Merge #4015 - Bitfield to bitflags (from letharion:Bitfield-to-bitflags); r=mbrubeck
Attempt to solve #3690

I've re-rolled the changes from https://github.com/servo/servo/pull/2610, and then doen the necessary updates to get this to compile with the current snapshot of rust.

The documentation for values I've added in the bitflag are missing, because I don't know what is the appropriate text.

Source-Repo: https://github.com/servo/servo
Source-Revision: e13873bba1782580db4abe46e883b08da829cbb6
2014-11-18 11:42:32 -07:00
Glenn Watson
22c4035692 servo: Merge #3948 - Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8a (from servo:rustup-20141105_2); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: c5e1b0d32e17fad29799023c85e2e73ac89c3af7
2014-11-12 20:48:31 -07:00
Manish Goregaokar
b52e311bec servo: Merge #3903 - Improve docs and #[must_root] checking in plugins crate (from Manishearth:plugin-fixes); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 57cb8a10f0f6ed445ed7ba88a3fa19d56bd7015e
2014-11-05 20:03:34 -07:00
Manish Goregaokar
f5d90a5d5a servo: Merge #3862 - Remove suggestion to use #[must_root] for functions (from Manishearth:lint-fix); r=jdm
The correct thing to do here is to use `#[allow(unrooted_must_root)]` (the warning already mentions this). `#[must_root]` on functions does nothing.

Source-Repo: https://github.com/servo/servo
Source-Revision: 21374700b6720cdb0605f0b5ede702122278f370
2014-11-03 10:54:35 -07:00