Commit Graph

359 Commits

Author SHA1 Message Date
Kogia-sima 45d8b6651d doc: improve the overall look of the document 2021-01-03 18:00:29 +09:00
Kogia-sima 8584fa5ca7 ci: Limit Badges job execution 2021-01-02 03:27:46 +09:00
Kogia-sima 816a7e5e43 Add stale.yml 2021-01-02 03:20:24 +09:00
Kogia-sima 7b49d01c94 doc: Add MSRV badge 2021-01-02 02:26:41 +09:00
Kogia-sima c35912fd4a Merge branch 'ci/dynamic-badge' 2021-01-02 02:16:48 +09:00
Kogia-sima 6f3a9b1286 ci: Finalize Badges action 2021-01-02 02:15:49 +09:00
Kogia-sima 1f33339538 ci: Fix workflow 2021-01-02 02:11:01 +09:00
Kogia-sima 93298c704f Add Dependency-Counts badge in README 2021-01-02 02:05:01 +09:00
Kogia-sima 716951469d ci: Add GitHub Job to create badge for dependency counts 2021-01-02 02:02:29 +09:00
Kogia-sima e68f7511b5 Add script for count dependencies 2021-01-02 02:02:09 +09:00
Kogia-sima 5d2f76f40b doc: Fix CSS configuration 2021-01-01 20:19:01 +09:00
Kogia-sima 98e3a882d5 doc: Add custom CSS 2021-01-01 19:31:07 +09:00
Kogia-sima 5f49f7f938 doc: Update installation section in documents 2021-01-01 19:08:24 +09:00
Kogia-sima f113734981 doc: Fix typo 2021-01-01 18:21:39 +09:00
Kogia-sima ace4d1710c Add codecov.yml 2020-12-30 03:26:24 +09:00
Kogia-sima e72314885b Update rust-covfix 2020-12-30 01:55:51 +09:00
Kogia-sima 8f79cbc61c ci: Fix coverage job in GitHub Actions 2020-12-30 00:02:29 +09:00
Kogia-sima e69d36b168 refactor: clippy fix 2020-12-29 16:53:46 +09:00
Kogia-sima 25fed05519 test: improve test coverage for runtime 2020-12-29 04:51:08 +09:00
Kogia-sima 3fc5c8bc77 Merge branch 'ci/codecov' 2020-12-29 03:47:20 +09:00
Kogia-sima adf6c68aea ci: Split tasks into multiple files
* test.yml => test.yml + coverage.yml
2020-12-29 03:40:41 +09:00
Kogia-sima 62ebfa21ba ci: Remove linux x86-64 nightly test from CI
This platform is tested in coverage task
2020-12-29 03:30:00 +09:00
Kogia-sima bcc06ce8d7 ci: Add coverage task for GitHub Actions 2020-12-29 03:27:58 +09:00
Kogia-sima d07afad79b test: temporarily disable translator test
Currently the translator test cause unexpected error with "-Zprofile"
flag for unknown reason.
2020-12-29 03:24:59 +09:00
Kogia-sima 2d6b29da6f test: Add more tests 2020-12-29 01:32:56 +09:00
Kogia-sima 6c2ef0deae test: simplify filter tests 2020-12-28 22:44:36 +09:00
Kogia-sima 46fa250c49 feat: allow unsized types for filters 2020-12-28 22:33:49 +09:00
Kogia-sima 28ca4e2959 doc: fix examples in doc comments 2020-12-28 21:28:53 +09:00
Kogia-sima dece98d957 doc: update documents 2020-12-25 13:21:56 +09:00
Kogia-sima 92c8f8a852 refactor: remove unused code 2020-12-24 17:41:51 +09:00
Kogia-sima 348a3825f2 perf: join after loop-optimization 2020-12-24 17:22:11 +09:00
Kogia-sima 1128fda3d3 doc: fix example in README 2020-12-24 15:53:35 +09:00
Kogia-sima 3ee7d06024 refactor: fmt 2020-12-24 15:50:26 +09:00
Kogia-sima 5ae43eee4e Update changelog 2020-12-24 15:50:12 +09:00
Kogia-sima dca8048bd0 perf: Do not compile runtime feature detection on avx2
This feature detection may avoid inlining avx2::escape function
2020-12-24 15:06:01 +09:00
Kogia-sima 54f77cc25a Add debug_assert for Buffer::_set_len 2020-12-24 15:00:19 +09:00
Kogia-sima 2a42841f3e Remove tests for Big Table/Teams benchmark
These benchmarks is distributed under "NO LICENSE", so including this
these benchmarks are not permitted
2020-12-23 22:40:55 +09:00
Kogia-sima 6b0d67cd49 Add THIRD_PARTY 2020-12-23 22:39:31 +09:00
Kogia-sima d127eba2ee fix: Fix compilation issue with Cow<'a, str> 2020-12-21 17:02:32 +09:00
Kogia-sima 0b8a19f5cc doc: no longer requires `extern crate sailfish_macros` 2020-12-20 22:24:31 +09:00
Kogia-sima 1df0657350 Bump version (0.2.3 => 0.3.0) 2020-12-20 22:16:25 +09:00
Kogia-sima 034e7dad45 fix: Fix compilation error due to missing docs 2020-12-20 22:11:13 +09:00
Kogia-sima 8deecff5fe break: change RenderError into enum 2020-12-20 21:55:55 +09:00
Kogia-sima b58a51a1ae doc: deny missing docs 2020-12-20 21:23:47 +09:00
Kogia-sima b6e0f145fa doc: Examples for filters 2020-12-20 21:23:47 +09:00
Kogia-sima bbb16e0e14 perf: New size hint strategy 2020-12-20 20:21:18 +09:00
Kogia-sima f236a98fed perf: reduce memcpy call in HTML escaping 2020-12-20 19:33:13 +09:00
Kogia-sima 36281a7da6 doc: doc comments for buffer methods 2020-12-20 18:23:32 +09:00
Kogia-sima 08ac211645 doc: Update README
- update features
- update roadmap
2020-12-20 16:31:17 +09:00
Kogia-sima 8cc19b72b8 doc: Document unsafety of Render trait 2020-12-20 16:31:04 +09:00
Kogia-sima 5ceb904f19 fix: Fix unsoundness issue on truncate filter
old implementation of truncate filter is unsound because it may calls
Buffer::set_len() for the index which does not on the char boundary when
buffer sized decreased.
2020-12-20 16:07:06 +09:00
Kogia-sima 7a6b164e9e fix: Remove unsafe usage of ptr::add()
offset passed to add() method must not overflow isize::MAX
2020-12-20 12:16:45 +09:00
Kogia-sima c4b4820213 Fix installation of multilib 2020-12-19 23:49:33 +09:00
Kogia-sima 8de885a4cf fix: Remove incorrect debug_assert 2020-12-19 21:45:26 +09:00
Kogia-sima e1d7c388f5 perf: branch hint in Buffer::reserve 2020-12-19 21:07:09 +09:00
Kogia-sima 28b5c6abd1 Generate more readable code 2020-12-19 20:51:01 +09:00
Kogia-sima fa198107a0 fix: Do not panic when buffer size decreased 2020-12-19 20:42:03 +09:00
Kogia-sima ee1952c2eb feat: impl Send/Sync for Buffer 2020-12-19 18:21:48 +09:00
Kogia-sima 70033d604d break: forbit implementing TemplateOnce trait by hand 2020-12-19 17:38:57 +09:00
Kogia-sima c6a3985dfd perf: optimize simd escaping for small strings 2020-12-19 16:58:36 +09:00
Kogia-sima 15f397348a refactor: Organize source code for readability 2020-12-18 23:00:40 +09:00
Kogia-sima 21fc4af83a doc: comments for feature flags 2020-12-18 19:45:46 +09:00
Kogia-sima f98ed7426f clippy fix 2020-12-18 19:23:20 +09:00
Kogia-sima bf55dd7909 Branch optimization in naive escape 2020-12-18 18:28:21 +09:00
Kogia-sima fe11aff782 Merge branch 'feature/json-filter' 2020-12-18 12:24:43 +09:00
Kogia-sima 28eb155991 Downgrade serde version 2020-12-18 12:21:57 +09:00
Kogia-sima 90910d7acd Merge branch 'feature/truncate-filter' 2020-12-18 12:16:32 +09:00
Kogia-sima 1d6e129bcb test: Add test for truncate filter 2020-12-18 11:25:01 +09:00
Kogia-sima d381552e6b feat: truncate filter 2020-12-18 11:13:14 +09:00
Kogia-sima 47c09e4f55 refactor: Remove dbg!() 2020-12-18 11:03:44 +09:00
Kogia-sima 06e34cf9d5 test: Add test for trim, lower and upper filters 2020-12-17 19:54:21 +09:00
Kogia-sima e71dc3c8ca test: Add test for json filter 2020-12-17 19:47:33 +09:00
Kogia-sima e899e99ea1 doc: json filter documentation 2020-12-17 19:47:33 +09:00
Kogia-sima d7bce02109 feat: json filter 2020-12-17 19:47:27 +09:00
Kogia-sima 8e07927f19 Add doc_cfg attribute 2020-12-17 17:06:34 +09:00
Kogia-sima daa6f4878d Rename some tests 2020-12-17 16:30:47 +09:00
Kogia-sima e316c82eb5 Remove String::truncate()
Current implementation is unsafe because it doesn't check if `new_len`
does lie on a char boundary.
2020-12-17 16:24:57 +09:00
Kogia-sima 2884146359 Merge branch 'fix/continue-break/#21' 2020-12-17 15:51:39 +09:00
Kogia-sima cff4fa9484 Merge branch 'ci/github-workflow' 2020-12-17 15:51:28 +09:00
Kogia-sima edff2b4ef0 Update status badge 2020-12-17 15:50:47 +09:00
Kogia-sima 92a79b769f Remove Travis/Appvayor CI configuration 2020-12-17 15:47:02 +09:00
Kogia-sima 53a9cb9713 fix error with cargo-miri 2020-12-17 15:38:11 +09:00
Kogia-sima b6487358ec GitHub Actions: Add test.yml 2020-12-17 14:41:00 +09:00
Kogia-sima de1de2b0e8 Add continue-break test 2020-12-17 13:44:27 +09:00
Kogia-sima e221a9b8b9 fix: Fix rendering issue on continue/break statements
fix #21
2020-12-17 13:28:40 +09:00
Kogia-sima 18ffe5b321 Remove benchmarks
Remove benchmark programs in favor of https://github.com/djc/template-benchmarks-rs

* Quite similar contents
* Some library has too heavy dependencies and frequently cause breaking
changes (which always results in tiny performance difference)
* Some benchmark implementation is out of date
* There is a persistent complaint that the benchmark is wrong (although
I'm not still convinced)

cc #28 #37
2020-12-17 12:51:42 +09:00
Kogia-sima 5961a7400b security: Properly handle slices with size greater than isize::MAX
See https://github.com/rust-lang/rust/pull/79930#issuecomment-747135498
for more details.
2020-12-17 10:24:28 +09:00
Kogia-sima 5108988879 Use std::isize::MAX instead of isize::MAX
isize::MAX not working on Rust 1.42.0
2020-12-17 10:09:18 +09:00
Kogia-sima a5f40fe270 Revert "refactor: Use nanorand crate instead of custom xorshift implementation"
This reverts commit d0ec00fb29.
I found that nanorand crate does not work on Mac OSX.
2020-12-17 10:07:53 +09:00
Kogia-sima 1107757ad1 Add test for Techempower Framework Benchmarks
cc #37
2020-12-17 10:02:49 +09:00
Kogia-sima 8179de521d docs: Revert documents
v0.2.3 still requires `extern crate sailfish_macros;`
2020-12-17 00:04:47 +09:00
Kogia-sima ac728a8495 Update AFL tests 2020-12-16 23:15:22 +09:00
Kogia-sima c182e41622 perf: Optimize Buffer::push()
fix #8
2020-12-16 21:52:39 +09:00
Kogia-sima aa0afb1f81 doc: Update safety documents
and some assertion fix
2020-12-16 21:17:06 +09:00
Kogia-sima 1ec10031f5 refactor: Turn off unused features in dependencies 2020-12-16 20:14:38 +09:00
Kogia-sima a1abc2aaa3 refactor: Simplify derive option parsing 2020-12-16 19:55:28 +09:00
Kogia-sima 98edecdb3a refactor: suppress use of to_string_lossy 2020-12-16 19:13:37 +09:00
Kogia-sima 6c7a74823f refactor: use DefaultHasher instead of custom fnv hash implementation 2020-12-16 19:01:28 +09:00
Kogia-sima 790f7366cf break: Update TemplateOnce trait structure
* Remove render_once_to_string method
* Add render_once_to method
* Now TemplateOnce trait requires both method implementation
* Some performance improvement
2020-12-16 19:01:28 +09:00
Kogia-sima d0ec00fb29 refactor: Use nanorand crate instead of custom xorshift implementation 2020-12-16 16:52:07 +09:00