Upgrade remaining components to edition 2018

This commit is contained in:
sagudev 2023-02-18 09:42:37 +01:00
parent fd79367491
commit 9c2cc05a8e
48 changed files with 102 additions and 160 deletions

View file

@ -3,6 +3,7 @@ name = "derive_common"
version = "0.0.1"
authors = ["The Servo Project Developers"]
license = "MPL-2.0"
edition = "2018"
publish = false
[lib]

View file

@ -4,8 +4,8 @@
use darling::{FromDeriveInput, FromField, FromVariant};
use proc_macro2::{Span, TokenStream};
use quote::TokenStreamExt;
use syn::{self, AngleBracketedGenericArguments, Binding, DeriveInput, Field};
use quote::{quote, TokenStreamExt};
use syn::{self, parse_quote, AngleBracketedGenericArguments, Binding, DeriveInput, Field};
use syn::{GenericArgument, GenericParam, Ident, Path};
use syn::{PathArguments, PathSegment, QSelf, Type, TypeArray, TypeGroup};
use syn::{TypeParam, TypeParen, TypePath, TypeSlice, TypeTuple};

View file

@ -2,12 +2,4 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
extern crate darling;
extern crate proc_macro2;
#[macro_use]
extern crate quote;
#[macro_use]
extern crate syn;
extern crate synstructure;
pub mod cg;

View file

@ -2,6 +2,7 @@
authors = ["The Servo Project Developers"]
license = "MPL-2.0"
name = "dom_struct"
edition = "2018"
publish = false
version = "0.0.1"

View file

@ -2,12 +2,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
extern crate proc_macro;
#[macro_use]
extern crate quote;
extern crate syn;
use proc_macro::TokenStream;
use quote::quote;
use syn::*;
#[proc_macro_attribute]

View file

@ -3,6 +3,7 @@ name = "fallible"
version = "0.0.1"
authors = ["The Servo Project Developers"]
license = "MPL-2.0"
edition = "2018"
publish = false
[lib]

View file

@ -2,9 +2,6 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
extern crate hashglobe;
extern crate smallvec;
#[cfg(feature = "known_system_malloc")]
use hashglobe::alloc;
use hashglobe::FailedAllocationError;

View file

@ -7,6 +7,7 @@ description = "Fork of std::HashMap with stable fallible allocation."
documentation = "https://docs.rs/hashglobe"
repository = "https://github.com/Manishearth/hashglobe"
readme = "README.md"
edition = "2018"
[dependencies]
libc = "0.2"

View file

@ -2218,7 +2218,7 @@ mod test_map {
use super::Entry::{Occupied, Vacant};
use super::HashMap;
use super::RandomState;
use cell::RefCell;
use std::cell::RefCell;
#[test]
fn test_zero_capacities() {

View file

@ -1577,7 +1577,7 @@ mod test_set {
#[test]
fn test_replace() {
use hash;
use std::hash;
#[derive(Debug)]
struct Foo(&'static str, i32);

View file

@ -3,6 +3,7 @@ name = "malloc_size_of"
version = "0.0.1"
authors = ["The Servo Project Developers"]
license = "MIT OR Apache-2.0"
edition = "2018"
publish = false
[lib]

View file

@ -46,45 +46,6 @@
//! Note: WebRender has a reduced fork of this crate, so that we can avoid
//! publishing this crate on crates.io.
#[cfg(feature = "servo")]
extern crate accountable_refcell;
extern crate app_units;
#[cfg(feature = "servo")]
extern crate content_security_policy;
#[cfg(feature = "servo")]
extern crate crossbeam_channel;
extern crate cssparser;
extern crate euclid;
extern crate hashglobe;
#[cfg(feature = "servo")]
extern crate http;
#[cfg(feature = "servo")]
extern crate hyper_serde;
#[cfg(feature = "servo")]
extern crate keyboard_types;
extern crate selectors;
#[cfg(feature = "servo")]
extern crate serde;
#[cfg(feature = "servo")]
extern crate serde_bytes;
extern crate servo_arc;
extern crate smallbitvec;
extern crate smallvec;
#[cfg(feature = "servo")]
extern crate string_cache;
extern crate thin_slice;
#[cfg(feature = "servo")]
extern crate time;
#[cfg(feature = "url")]
extern crate url;
#[cfg(feature = "servo")]
extern crate uuid;
extern crate void;
#[cfg(feature = "webrender_api")]
extern crate webrender_api;
#[cfg(feature = "servo")]
extern crate xml5ever;
#[cfg(feature = "servo")]
use content_security_policy as csp;
#[cfg(feature = "servo")]

View file

@ -3,6 +3,7 @@ name = "script_plugins"
version = "0.0.1"
authors = ["The Servo Project Developers"]
license = "MPL-2.0"
edition = "2018"
publish = false
[lib]

View file

@ -9,6 +9,7 @@ readme = "README.md"
keywords = ["css", "selectors"]
license = "MPL-2.0"
build = "build.rs"
edition = "2018"
[lib]
name = "selectors"

View file

@ -5,6 +5,8 @@
use crate::parser::SelectorImpl;
use cssparser::ToCss;
use std::fmt;
#[cfg(feature = "shmem")]
use to_shmem_derive::ToShmem;
#[derive(Clone, Eq, PartialEq)]
#[cfg_attr(feature = "shmem", derive(ToShmem))]

View file

@ -2,8 +2,6 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
extern crate phf_codegen;
use std::env;
use std::fs::File;
use std::io::{BufWriter, Write};

View file

@ -19,12 +19,16 @@
use crate::parser::{Combinator, Component, SelectorImpl};
use crate::sink::Push;
use bitflags::bitflags;
use derive_more::{Add, AddAssign};
use servo_arc::{Arc, HeaderWithLength, ThinArc};
use smallvec::{self, SmallVec};
use std::cmp;
use std::iter;
use std::ptr;
use std::slice;
#[cfg(feature = "shmem")]
use to_shmem_derive::ToShmem;
/// Top-level SelectorBuilder struct. This should be stack-allocated by the
/// consumer and never moved (because it contains a lot of inline data that

View file

@ -5,25 +5,6 @@
// Make |cargo bench| work.
#![cfg_attr(feature = "bench", feature(test))]
#[macro_use]
extern crate bitflags;
#[macro_use]
extern crate cssparser;
#[macro_use]
extern crate derive_more;
extern crate fxhash;
#[macro_use]
extern crate log;
extern crate phf;
extern crate precomputed_hash;
extern crate servo_arc;
extern crate smallvec;
#[cfg(feature = "shmem")]
extern crate to_shmem;
#[cfg(feature = "shmem")]
#[macro_use]
extern crate to_shmem_derive;
pub mod attr;
pub mod bloom;
mod builder;

View file

@ -8,6 +8,8 @@ use crate::nth_index_cache::NthIndexCacheInner;
use crate::parser::{AncestorHashes, Combinator, Component, LocalName};
use crate::parser::{NonTSPseudoClass, Selector, SelectorImpl, SelectorIter, SelectorList};
use crate::tree::Element;
use bitflags::bitflags;
use log::debug;
use smallvec::SmallVec;
use std::borrow::Borrow;
use std::iter;

View file

@ -10,7 +10,8 @@ use crate::builder::{SelectorBuilder, SelectorFlags, SpecificityAndFlags};
use crate::context::QuirksMode;
use crate::sink::Push;
pub use crate::visitor::SelectorVisitor;
use cssparser::parse_nth;
use bitflags::bitflags;
use cssparser::{match_ignore_ascii_case, parse_nth, *};
use cssparser::{BasicParseError, BasicParseErrorKind, ParseError, ParseErrorKind};
use cssparser::{CowRcStr, Delimiter, SourceLocation};
use cssparser::{Parser as CssParser, ToCss, Token};
@ -21,6 +22,8 @@ use std::borrow::{Borrow, Cow};
use std::fmt::{self, Debug};
use std::iter::Rev;
use std::slice;
#[cfg(feature = "shmem")]
use to_shmem_derive::ToShmem;
/// A trait that represents a pseudo-element.
pub trait PseudoElement: Sized + ToCss {

View file

@ -5,6 +5,7 @@ authors = ["The Servo Project Developers"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/servo/servo"
description = "A fork of std::sync::Arc with some extra functionality and without weak references"
edition = "2018"
[lib]
name = "servo_arc"

View file

@ -25,11 +25,6 @@
// duplicate those here.
#![allow(missing_docs)]
extern crate nodrop;
#[cfg(feature = "servo")]
extern crate serde;
extern crate stable_deref_trait;
use nodrop::NoDrop;
#[cfg(feature = "servo")]
use serde::{Deserialize, Serialize};

View file

@ -3,6 +3,7 @@ name = "size_of_test"
version = "0.0.1"
authors = ["The Servo Project Developers"]
license = "MPL-2.0"
edition = "2018"
publish = false
[lib]

View file

@ -3,6 +3,7 @@ name = "std_test_override"
version = "0.0.1"
authors = ["The Servo Project Developers"]
license = "MPL-2.0"
edition = "2018"
publish = false
[lib]

View file

@ -4,7 +4,6 @@
#![feature(test)]
extern crate embedder_traits;
extern crate test;
pub use test::*;

View file

@ -3,6 +3,7 @@ name = "style_derive"
version = "0.0.1"
authors = ["The Servo Project Developers"]
license = "MPL-2.0"
edition = "2018"
publish = false
[lib]

View file

@ -3,10 +3,14 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use darling::util::PathList;
use darling::FromDeriveInput;
use darling::FromField;
use darling::FromVariant;
use derive_common::cg;
use proc_macro2::TokenStream;
use quote::quote;
use quote::TokenStreamExt;
use syn::{DeriveInput, WhereClause};
use syn::{parse_quote, DeriveInput, WhereClause};
use synstructure::{Structure, VariantInfo};
pub fn derive(mut input: DeriveInput) -> TokenStream {

View file

@ -3,10 +3,12 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use crate::animate::{AnimationFieldAttrs, AnimationInputAttrs, AnimationVariantAttrs};
use darling::FromField;
use derive_common::cg;
use proc_macro2::TokenStream;
use quote::quote;
use quote::TokenStreamExt;
use syn::{DeriveInput, WhereClause};
use syn::{parse_quote, DeriveInput, WhereClause};
use synstructure;
pub fn derive(mut input: DeriveInput) -> TokenStream {

View file

@ -4,17 +4,6 @@
#![recursion_limit = "128"]
#[macro_use]
extern crate darling;
extern crate derive_common;
extern crate proc_macro;
extern crate proc_macro2;
#[macro_use]
extern crate quote;
#[macro_use]
extern crate syn;
extern crate synstructure;
use proc_macro::TokenStream;
mod animate;

View file

@ -3,8 +3,12 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use crate::to_css::CssVariantAttrs;
use darling::FromField;
use darling::FromVariant;
use derive_common::cg;
use proc_macro2::TokenStream;
use quote::quote;
use syn::parse_quote;
use syn::{self, DeriveInput, Path};
use synstructure::{Structure, VariantInfo};
@ -54,7 +58,7 @@ fn parse_non_keyword_variant(
}
} else {
quote! {
if let Ok(v) = input.try(|i| <#ty as crate::parser::Parse>::parse(context, i)) {
if let Ok(v) = input.r#try(|i| <#ty as crate::parser::Parse>::parse(context, i)) {
return Ok(#name::#variant_name(v));
}
}

View file

@ -4,10 +4,14 @@
use crate::parse::ParseVariantAttrs;
use crate::to_css::{CssFieldAttrs, CssInputAttrs, CssVariantAttrs};
use darling::FromDeriveInput;
use darling::FromField;
use darling::FromVariant;
use derive_common::cg;
use proc_macro2::TokenStream;
use quote::quote;
use quote::TokenStreamExt;
use syn::{Data, DeriveInput, Fields, Ident, Type};
use syn::{parse_quote, Data, DeriveInput, Fields, Ident, Type};
pub fn derive(mut input: DeriveInput) -> TokenStream {
let css_attrs = cg::parse_input_attrs::<CssInputAttrs>(&input);

View file

@ -2,10 +2,11 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use crate::to_computed_value;
use proc_macro2::TokenStream;
use syn::DeriveInput;
use quote::quote;
use syn::{parse_quote, DeriveInput};
use synstructure::BindStyle;
use to_computed_value;
pub fn derive(input: DeriveInput) -> TokenStream {
let trait_impl = |from_body, to_body| {

View file

@ -5,8 +5,9 @@
use crate::animate::{AnimationFieldAttrs, AnimationInputAttrs, AnimationVariantAttrs};
use derive_common::cg;
use proc_macro2::TokenStream;
use quote::quote;
use quote::TokenStreamExt;
use syn;
use syn::{self, parse_quote};
use synstructure;
pub fn derive(mut input: syn::DeriveInput) -> TokenStream {

View file

@ -2,8 +2,11 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use darling::FromField;
use derive_common::cg;
use proc_macro2::TokenStream;
use quote::quote;
use syn::parse_quote;
use syn::{DeriveInput, Ident, Path};
use synstructure::{BindStyle, BindingInfo};

View file

@ -3,9 +3,14 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use darling::util::Override;
use darling::FromDeriveInput;
use darling::FromField;
use darling::FromVariant;
use derive_common::cg;
use proc_macro2::TokenStream;
use quote::quote;
use quote::{ToTokens, TokenStreamExt};
use syn::parse_quote;
use syn::{self, Data, Path, WhereClause};
use synstructure::{BindingInfo, Structure, VariantInfo};

View file

@ -2,11 +2,13 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use crate::to_computed_value;
use darling::FromField;
use derive_common::cg;
use proc_macro2::TokenStream;
use syn::DeriveInput;
use quote::quote;
use syn::{parse_quote, DeriveInput};
use synstructure::BindStyle;
use to_computed_value;
pub fn derive(input: DeriveInput) -> TokenStream {
let trait_impl = |from_body, to_body| {

View file

@ -3,6 +3,7 @@ name = "style_traits"
version = "0.0.1"
authors = ["The Servo Project Developers"]
license = "MPL-2.0"
edition = "2018"
publish = false
[lib]

View file

@ -4,12 +4,14 @@
//! A thin atomically-reference-counted slice.
use lazy_static::lazy_static;
use serde::de::{Deserialize, Deserializer};
use serde::ser::{Serialize, Serializer};
use servo_arc::ThinArc;
use std::ops::Deref;
use std::ptr::NonNull;
use std::{iter, mem};
use to_shmem_derive::ToShmem;
/// A canary that we stash in ArcSlices.
///

View file

@ -4,6 +4,9 @@
//! Types used to access the DOM from style calculation.
use malloc_size_of_derive::MallocSizeOf;
use serde::{Deserialize, Serialize};
/// An opaque handle to a node, which, unlike UnsafeNode, cannot be transformed
/// back into a non-opaque representation. The only safe operation that can be
/// performed on this node is to compare it to another opaque handle or to another

View file

@ -10,30 +10,9 @@
#![crate_type = "rlib"]
#![deny(unsafe_code, missing_docs)]
extern crate app_units;
#[macro_use]
extern crate bitflags;
#[macro_use]
extern crate cssparser;
extern crate euclid;
#[macro_use]
extern crate lazy_static;
extern crate malloc_size_of;
#[macro_use]
extern crate malloc_size_of_derive;
extern crate selectors;
#[macro_use]
extern crate serde;
extern crate servo_arc;
#[cfg(feature = "servo")]
extern crate servo_atoms;
#[cfg(feature = "servo")]
extern crate servo_url;
extern crate to_shmem;
#[macro_use]
extern crate to_shmem_derive;
#[cfg(feature = "servo")]
extern crate webrender_api;
use bitflags::bitflags;
use malloc_size_of_derive::MallocSizeOf;
use serde::{Deserialize, Serialize};
#[cfg(feature = "servo")]
pub use webrender_api::units::DevicePixel;

View file

@ -7,8 +7,10 @@
//! A replacement for `Box<str>` that has a defined layout for FFI.
use crate::owned_slice::OwnedSlice;
use malloc_size_of_derive::MallocSizeOf;
use std::fmt;
use std::ops::{Deref, DerefMut};
use to_shmem_derive::ToShmem;
/// A struct that basically replaces a Box<str>, but with a defined layout,
/// suitable for FFI.

View file

@ -348,7 +348,7 @@ impl Separator for Space {
let mut results = vec![parse_one(input)?];
loop {
input.skip_whitespace(); // Unnecessary for correctness, but may help try() rewind less.
if let Ok(item) = input.try(&mut parse_one) {
if let Ok(item) = input.r#try(&mut parse_one) {
results.push(item);
} else {
return Ok(results);
@ -374,9 +374,9 @@ impl Separator for CommaWithSpace {
loop {
input.skip_whitespace(); // Unnecessary for correctness, but may help try() rewind less.
let comma_location = input.current_source_location();
let comma = input.try(|i| i.expect_comma()).is_ok();
let comma = input.r#try(|i| i.expect_comma()).is_ok();
input.skip_whitespace(); // Unnecessary for correctness, but may help try() rewind less.
if let Ok(item) = input.try(&mut parse_one) {
if let Ok(item) = input.r#try(&mut parse_one) {
results.push(item);
} else if comma {
return Err(comma_location.new_unexpected_token_error(Token::Comma));
@ -478,8 +478,9 @@ impl_to_css_for_predefined_type!(::cssparser::UnicodeRange);
macro_rules! define_css_keyword_enum {
(pub enum $name:ident { $($variant:ident = $css:expr,)+ }) => {
#[allow(missing_docs)]
#[cfg_attr(feature = "servo", derive(Deserialize, Serialize))]
#[derive(Clone, Copy, Debug, Eq, Hash, MallocSizeOf, PartialEq, ToShmem)]
#[cfg_attr(feature = "servo", derive(serde::Deserialize, serde::Serialize))]
#[derive(Clone, Copy, Debug, Eq, Hash,
malloc_size_of_derive::MallocSizeOf, PartialEq, to_shmem_derive::ToShmem)]
pub enum $name {
$($variant),+
}
@ -506,7 +507,7 @@ macro_rules! define_css_keyword_enum {
/// Parse this property from an already-tokenized identifier.
pub fn from_ident(ident: &str) -> Result<$name, ()> {
match_ignore_ascii_case! { ident,
cssparser::match_ignore_ascii_case! { ident,
$($css => Ok($name::$variant),)+
_ => Err(())
}
@ -532,11 +533,22 @@ macro_rules! define_css_keyword_enum {
/// Helper types for the handling of specified values.
pub mod specified {
use crate::ParsingMode;
use malloc_size_of_derive::MallocSizeOf;
use serde::{Deserialize, Serialize};
/// Whether to allow negative lengths or not.
#[repr(u8)]
#[derive(
Clone, Copy, Debug, Deserialize, Eq, MallocSizeOf, PartialEq, PartialOrd, Serialize, ToShmem,
Clone,
Copy,
Debug,
Deserialize,
Eq,
MallocSizeOf,
PartialEq,
PartialOrd,
Serialize,
to_shmem_derive::ToShmem,
)]
pub enum AllowedNumericType {
/// Allow all kind of numeric values.

View file

@ -5,9 +5,12 @@
//! Helper types for the `@viewport` rule.
use crate::{CSSPixel, CssWriter, ParseError, PinchZoomFactor, ToCss};
use cssparser::Parser;
use cssparser::*;
use euclid::Size2D;
use malloc_size_of_derive::MallocSizeOf;
use serde::{Deserialize, Serialize};
use std::fmt::{self, Write};
use to_shmem_derive::ToShmem;
define_css_keyword_enum! {
pub enum UserZoom {
@ -114,7 +117,6 @@ impl Zoom {
pub fn parse<'i, 't>(input: &mut Parser<'i, 't>) -> Result<Zoom, ParseError<'i>> {
use crate::values::specified::AllowedNumericType::NonNegative;
use crate::ParsingMode;
use cssparser::Token;
let location = input.current_source_location();
match *input.next()? {

View file

@ -3,6 +3,7 @@ name = "to_shmem"
version = "0.0.1"
authors = ["The Servo Project Developers"]
license = "MPL-2.0"
edition = "2018"
publish = false
[lib]

View file

@ -12,14 +12,6 @@
#![crate_name = "to_shmem"]
#![crate_type = "rlib"]
extern crate cssparser;
extern crate servo_arc;
extern crate smallbitvec;
extern crate smallvec;
#[cfg(feature = "string_cache")]
extern crate string_cache;
extern crate thin_slice;
use servo_arc::{Arc, ThinArc};
use smallbitvec::{InternalStorage, SmallBitVec};
use smallvec::{Array, SmallVec};

View file

@ -3,6 +3,7 @@ name = "to_shmem_derive"
version = "0.0.1"
authors = ["The Servo Project Developers"]
license = "MPL-2.0"
edition = "2018"
publish = false
[lib]

View file

@ -4,17 +4,6 @@
#![recursion_limit = "128"]
#[macro_use]
extern crate darling;
extern crate derive_common;
extern crate proc_macro;
extern crate proc_macro2;
#[macro_use]
extern crate quote;
#[macro_use]
extern crate syn;
extern crate synstructure;
use proc_macro::TokenStream;
mod to_shmem;

View file

@ -2,9 +2,11 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use darling::{FromDeriveInput, FromField};
use derive_common::cg;
use proc_macro2::TokenStream;
use syn;
use quote::quote;
use syn::{self, parse_quote};
use synstructure::{BindStyle, Structure};
pub fn derive(mut input: syn::DeriveInput) -> TokenStream {