aboutsummaryrefslogtreecommitdiffstats
path: root/askama
diff options
context:
space:
mode:
authorLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2018-12-07 15:52:26 +0100
committerLibravatar Juan Aguilar <mhpoin@gmail.com>2018-12-08 21:43:20 +0100
commit5549f9a3cd94e3cd6700067b1c74194dadb58a0f (patch)
treefa7037a3d4884a8c76ab7b4bea6d42b0bde0ff91 /askama
parentd042c5d758a0b99288b99959d5d98462f18cde65 (diff)
downloadaskama-5549f9a3cd94e3cd6700067b1c74194dadb58a0f.tar.gz
askama-5549f9a3cd94e3cd6700067b1c74194dadb58a0f.tar.bz2
askama-5549f9a3cd94e3cd6700067b1c74194dadb58a0f.zip
Use 2018 edition idioms
Diffstat (limited to '')
-rw-r--r--askama/src/lib.rs6
-rw-r--r--askama_derive/src/generator.rs2
-rw-r--r--askama_derive/src/input.rs2
-rw-r--r--askama_derive/src/lib.rs7
-rw-r--r--askama_derive/src/parser.rs4
-rw-r--r--askama_escape/benches/all.rs1
-rw-r--r--askama_escape/src/lib.rs6
-rw-r--r--askama_shared/src/error.rs4
-rw-r--r--askama_shared/src/filters/json.rs4
-rw-r--r--askama_shared/src/filters/mod.rs24
-rw-r--r--askama_shared/src/lib.rs14
11 files changed, 32 insertions, 42 deletions
diff --git a/askama/src/lib.rs b/askama/src/lib.rs
index d56d8b0..7381af7 100644
--- a/askama/src/lib.rs
+++ b/askama/src/lib.rs
@@ -400,7 +400,7 @@
#![allow(unused_imports)]
#[macro_use]
extern crate askama_derive;
-extern crate askama_shared as shared;
+use askama_shared as shared;
use std::fs::{self, DirEntry};
use std::io;
@@ -415,7 +415,7 @@ pub trait Template {
Ok(buf)
}
/// Renders the template to the given `writer` buffer
- fn render_into(&self, writer: &mut std::fmt::Write) -> Result<()>;
+ fn render_into(&self, writer: &mut dyn std::fmt::Write) -> Result<()>;
/// Helper function to inspect the template's extension
fn extension() -> Option<&'static str>
where
@@ -478,7 +478,7 @@ pub mod actix_web {
}
}
-fn visit_dirs(dir: &Path, cb: &Fn(&DirEntry)) -> io::Result<()> {
+fn visit_dirs(dir: &Path, cb: &dyn Fn(&DirEntry)) -> io::Result<()> {
if dir.is_dir() {
for entry in fs::read_dir(dir)? {
let entry = entry?;
diff --git a/askama_derive/src/generator.rs b/askama_derive/src/generator.rs
index dc1c551..61a82bd 100644
--- a/askama_derive/src/generator.rs
+++ b/askama_derive/src/generator.rs
@@ -1,7 +1,7 @@
use super::{get_template_source, Context, Heritage};
use crate::input::TemplateInput;
use crate::parser::{Cond, Expr, MatchParameter, MatchVariant, Node, Target, When, WS};
-use crate::shared::filters;
+use askama_shared::filters;
use proc_macro2::Span;
diff --git a/askama_derive/src/input.rs b/askama_derive/src/input.rs
index f79186d..72d5d20 100644
--- a/askama_derive/src/input.rs
+++ b/askama_derive/src/input.rs
@@ -2,7 +2,7 @@ use proc_macro2::TokenStream;
use quote::ToTokens;
-use crate::shared::{Config, Syntax};
+use askama_shared::{Config, Syntax};
use std::path::PathBuf;
diff --git a/askama_derive/src/lib.rs b/askama_derive/src/lib.rs
index d6900d7..cf5ead9 100644
--- a/askama_derive/src/lib.rs
+++ b/askama_derive/src/lib.rs
@@ -1,11 +1,8 @@
-extern crate askama_shared as shared;
+extern crate proc_macro;
#[macro_use]
extern crate nom;
-extern crate proc_macro;
-extern crate proc_macro2;
#[macro_use]
extern crate quote;
-extern crate syn;
mod generator;
mod input;
@@ -13,7 +10,7 @@ mod parser;
use crate::input::{Print, Source, TemplateInput};
use crate::parser::{Expr, Macro, Node};
-use crate::shared::{read_config_file, Config};
+use askama_shared::{read_config_file, Config};
use proc_macro::TokenStream;
use crate::parser::parse;
diff --git a/askama_derive/src/parser.rs b/askama_derive/src/parser.rs
index 08013e9..e1a7fc0 100644
--- a/askama_derive/src/parser.rs
+++ b/askama_derive/src/parser.rs
@@ -4,7 +4,7 @@
use nom;
use std::str;
-use crate::shared::Syntax;
+use askama_shared::Syntax;
#[derive(Debug)]
pub enum Expr<'a> {
@@ -771,7 +771,7 @@ pub fn parse<'a>(src: &'a str, syntax: &'a Syntax<'a>) -> Vec<Node<'a>> {
#[cfg(test)]
mod tests {
- use crate::shared::Syntax;
+ use askama_shared::Syntax;
fn check_ws_split(s: &str, res: &(&str, &str, &str)) {
let node = super::split_ws_parts(s.as_bytes());
diff --git a/askama_escape/benches/all.rs b/askama_escape/benches/all.rs
index e7dc7ed..af28c43 100644
--- a/askama_escape/benches/all.rs
+++ b/askama_escape/benches/all.rs
@@ -1,4 +1,3 @@
-extern crate askama_escape;
#[macro_use]
extern crate criterion;
diff --git a/askama_escape/src/lib.rs b/askama_escape/src/lib.rs
index b967f1f..8c23530 100644
--- a/askama_escape/src/lib.rs
+++ b/askama_escape/src/lib.rs
@@ -35,7 +35,7 @@ impl<T> Display for MarkupDisplay<T>
where
T: Display,
{
- fn fmt(&self, f: &mut Formatter) -> fmt::Result {
+ fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
match *self {
MarkupDisplay::Unsafe(ref t) => escape(&t.to_string()).fmt(f),
MarkupDisplay::Safe(ref t) => t.fmt(f),
@@ -43,7 +43,7 @@ where
}
}
-pub fn escape(s: &str) -> Escaped {
+pub fn escape(s: &str) -> Escaped<'_> {
Escaped {
bytes: s.as_bytes(),
}
@@ -64,7 +64,7 @@ pub struct Escaped<'a> {
}
impl<'a> ::std::fmt::Display for Escaped<'a> {
- fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
+ fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
let mut start = 0;
for (i, b) in self.bytes.iter().enumerate() {
if b.wrapping_sub(b'"') <= FLAG {
diff --git a/askama_shared/src/error.rs b/askama_shared/src/error.rs
index 90ba571..650e275 100644
--- a/askama_shared/src/error.rs
+++ b/askama_shared/src/error.rs
@@ -49,7 +49,7 @@ impl ErrorTrait for Error {
}
}
- fn cause(&self) -> Option<&ErrorTrait> {
+ fn cause(&self) -> Option<&dyn ErrorTrait> {
match *self {
Error::Fmt(ref err) => err.cause(),
#[cfg(feature = "serde_json")]
@@ -60,7 +60,7 @@ impl ErrorTrait for Error {
}
impl Display for Error {
- fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
+ fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
match *self {
Error::Fmt(ref err) => write!(formatter, "formatting error: {}", err),
diff --git a/askama_shared/src/filters/json.rs b/askama_shared/src/filters/json.rs
index 2df6db6..56053be 100644
--- a/askama_shared/src/filters/json.rs
+++ b/askama_shared/src/filters/json.rs
@@ -1,6 +1,6 @@
-use error::{Error, Result};
+use crate::error::{Error, Result};
use serde::Serialize;
-use MarkupDisplay;
+use askama_escape::MarkupDisplay;
/// Serialize to JSON (requires `serde_json` feature)
///
diff --git a/askama_shared/src/filters/mod.rs b/askama_shared/src/filters/mod.rs
index 0be9f95..85ff8b2 100644
--- a/askama_shared/src/filters/mod.rs
+++ b/askama_shared/src/filters/mod.rs
@@ -97,7 +97,7 @@ pub fn format() {}
///
/// A single newline becomes an HTML line break `<br>` and a new line
/// followed by a blank line becomes a paragraph break `<p>`.
-pub fn linebreaks(s: &fmt::Display) -> Result<String> {
+pub fn linebreaks(s: &dyn fmt::Display) -> Result<String> {
let s = s.to_string();
let linebroken = s.replace("\n\n", "</p><p>").replace("\n", "<br/>");
@@ -105,41 +105,41 @@ pub fn linebreaks(s: &fmt::Display) -> Result<String> {
}
/// Converts all newlines in a piece of plain text to HTML line breaks
-pub fn linebreaksbr(s: &fmt::Display) -> Result<String> {
+pub fn linebreaksbr(s: &dyn fmt::Display) -> Result<String> {
let s = s.to_string();
Ok(s.replace("\n", "<br/>"))
}
/// Converts to lowercase
-pub fn lower(s: &fmt::Display) -> Result<String> {
+pub fn lower(s: &dyn fmt::Display) -> Result<String> {
let s = s.to_string();
Ok(s.to_lowercase())
}
/// Alias for the `lower()` filter
-pub fn lowercase(s: &fmt::Display) -> Result<String> {
+pub fn lowercase(s: &dyn fmt::Display) -> Result<String> {
lower(s)
}
/// Converts to uppercase
-pub fn upper(s: &fmt::Display) -> Result<String> {
+pub fn upper(s: &dyn fmt::Display) -> Result<String> {
let s = s.to_string();
Ok(s.to_uppercase())
}
/// Alias for the `upper()` filter
-pub fn uppercase(s: &fmt::Display) -> Result<String> {
+pub fn uppercase(s: &dyn fmt::Display) -> Result<String> {
upper(s)
}
/// Strip leading and trailing whitespace
-pub fn trim(s: &fmt::Display) -> Result<String> {
+pub fn trim(s: &dyn fmt::Display) -> Result<String> {
let s = s.to_string();
Ok(s.trim().to_owned())
}
/// Limit string length, appends '...' if truncated
-pub fn truncate(s: &fmt::Display, len: &usize) -> Result<String> {
+pub fn truncate(s: &dyn fmt::Display, len: &usize) -> Result<String> {
let mut s = s.to_string();
if s.len() < *len {
Ok(s)
@@ -151,7 +151,7 @@ pub fn truncate(s: &fmt::Display, len: &usize) -> Result<String> {
}
/// Indent lines with `width` spaces
-pub fn indent(s: &fmt::Display, width: &usize) -> Result<String> {
+pub fn indent(s: &dyn fmt::Display, width: &usize) -> Result<String> {
let s = s.to_string();
let mut indented = String::new();
@@ -216,7 +216,7 @@ where
}
/// Capitalize a value. The first character will be uppercase, all others lowercase.
-pub fn capitalize(s: &fmt::Display) -> Result<String> {
+pub fn capitalize(s: &dyn fmt::Display) -> Result<String> {
let mut s = s.to_string();
match s.get_mut(0..1).map(|s| {
@@ -234,7 +234,7 @@ pub fn capitalize(s: &fmt::Display) -> Result<String> {
}
/// Centers the value in a field of a given width
-pub fn center(s: &fmt::Display, l: usize) -> Result<String> {
+pub fn center(s: &dyn fmt::Display, l: usize) -> Result<String> {
let s = s.to_string();
let len = s.len();
@@ -261,7 +261,7 @@ pub fn center(s: &fmt::Display, l: usize) -> Result<String> {
}
/// Count the words in that string
-pub fn wordcount(s: &fmt::Display) -> Result<usize> {
+pub fn wordcount(s: &dyn fmt::Display) -> Result<usize> {
let s = s.to_string();
Ok(s.split_whitespace().count())
diff --git a/askama_shared/src/lib.rs b/askama_shared/src/lib.rs
index adb41b5..850cb8b 100644
--- a/askama_shared/src/lib.rs
+++ b/askama_shared/src/lib.rs
@@ -1,14 +1,8 @@
#![cfg_attr(feature = "cargo-clippy", allow(unused_parens))]
-
-extern crate askama_escape;
-extern crate humansize;
-extern crate num_traits;
-extern crate serde;
#[macro_use]
extern crate serde_derive;
-#[cfg(feature = "serde_json")]
-extern crate serde_json;
-extern crate toml;
+
+use toml;
use std::env;
use std::fs;
@@ -31,14 +25,14 @@ pub struct Config<'a> {
}
impl<'a> Config<'a> {
- pub fn new(s: &str) -> Config {
+ pub fn new(s: &str) -> Config<'_> {
let root = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap());
let default_dirs = vec![root.join("templates")];
let mut syntaxes = BTreeMap::new();
syntaxes.insert(DEFAULT_SYNTAX_NAME.to_string(), Syntax::default());
- let raw: RawConfig =
+ let raw: RawConfig<'_> =
toml::from_str(&s).expect(&format!("invalid TOML in {}", CONFIG_FILE_NAME));
let (dirs, default_syntax) = match raw.general {