Skip to content

Commit 289243b

Browse files
committed
reimplement
1 parent 1871482 commit 289243b

File tree

126 files changed

+10179
-13954
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+10179
-13954
lines changed

.github/workflows/ci-version.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,21 @@ jobs:
2222
- nightly
2323
features:
2424
-
25+
- --no-default-features --features Debug
26+
- --no-default-features --features Clone
27+
- --no-default-features --features Copy
28+
- --no-default-features --features Clone --features Copy
29+
- --no-default-features --features PartialEq
30+
- --no-default-features --features Eq
31+
- --no-default-features --features PartialEq --features Eq
32+
- --no-default-features --features PartialOrd
33+
- --no-default-features --features Ord
34+
- --no-default-features --features PartialOrd --features Ord
35+
- --no-default-features --features Hash
36+
- --no-default-features --features Default
37+
- --no-default-features --features Deref
38+
- --no-default-features --features DerefMut
39+
- --no-default-features --features Deref --features DerefMut
2540
name: Test ${{ matrix.toolchain }} on ${{ matrix.os }} (${{ matrix.features }})
2641
runs-on: ${{ matrix.os }}
2742
steps:
@@ -44,6 +59,21 @@ jobs:
4459
- 1.56
4560
features:
4661
-
62+
- --no-default-features --features Debug
63+
- --no-default-features --features Clone
64+
- --no-default-features --features Copy
65+
- --no-default-features --features Clone --features Copy
66+
- --no-default-features --features PartialEq
67+
- --no-default-features --features Eq
68+
- --no-default-features --features PartialEq --features Eq
69+
- --no-default-features --features PartialOrd
70+
- --no-default-features --features Ord
71+
- --no-default-features --features PartialOrd --features Ord
72+
- --no-default-features --features Hash
73+
- --no-default-features --features Default
74+
- --no-default-features --features Deref
75+
- --no-default-features --features DerefMut
76+
- --no-default-features --features Deref --features DerefMut
4777
name: Test ${{ matrix.toolchain }} on ${{ matrix.os }} (${{ matrix.features }})
4878
runs-on: ${{ matrix.os }}
4979
steps:

.github/workflows/ci.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,21 @@ jobs:
3838
- nightly
3939
features:
4040
-
41+
- --no-default-features --features Debug
42+
- --no-default-features --features Clone
43+
- --no-default-features --features Copy
44+
- --no-default-features --features Clone --features Copy
45+
- --no-default-features --features PartialEq
46+
- --no-default-features --features Eq
47+
- --no-default-features --features PartialEq --features Eq
48+
- --no-default-features --features PartialOrd
49+
- --no-default-features --features Ord
50+
- --no-default-features --features PartialOrd --features Ord
51+
- --no-default-features --features Hash
52+
- --no-default-features --features Default
53+
- --no-default-features --features Deref
54+
- --no-default-features --features DerefMut
55+
- --no-default-features --features Deref --features DerefMut
4156
name: Test ${{ matrix.toolchain }} on ${{ matrix.os }} (${{ matrix.features }})
4257
runs-on: ${{ matrix.os }}
4358
steps:
@@ -60,6 +75,21 @@ jobs:
6075
- 1.56
6176
features:
6277
-
78+
- --no-default-features --features Debug
79+
- --no-default-features --features Clone
80+
- --no-default-features --features Copy
81+
- --no-default-features --features Clone --features Copy
82+
- --no-default-features --features PartialEq
83+
- --no-default-features --features Eq
84+
- --no-default-features --features PartialEq --features Eq
85+
- --no-default-features --features PartialOrd
86+
- --no-default-features --features Ord
87+
- --no-default-features --features PartialOrd --features Ord
88+
- --no-default-features --features Hash
89+
- --no-default-features --features Default
90+
- --no-default-features --features Deref
91+
- --no-default-features --features DerefMut
92+
- --no-default-features --features Deref --features DerefMut
6393
name: Test ${{ matrix.toolchain }} on ${{ matrix.os }} (${{ matrix.features }})
6494
runs-on: ${{ matrix.os }}
6595
steps:

.gitignore

Lines changed: 67 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
# Created by https://www.gitignore.io/api/intellij+all
2-
31
### Intellij+all ###
4-
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
2+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
53
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
64

75
# User-specific stuff
@@ -11,6 +9,12 @@
119
.idea/**/dictionaries
1210
.idea/**/shelf
1311

12+
# AWS User-specific
13+
.idea/**/aws.xml
14+
15+
# Generated files
16+
.idea/**/contentModel.xml
17+
1418
# Sensitive or high-churn files
1519
.idea/**/dataSources/
1620
.idea/**/dataSources.ids
@@ -28,9 +32,14 @@
2832
# When using Gradle or Maven with auto-import, you should exclude module files,
2933
# since they will be recreated, and may cause churn. Uncomment if using
3034
# auto-import.
35+
# .idea/artifacts
36+
# .idea/compiler.xml
37+
# .idea/jarRepositories.xml
3138
# .idea/modules.xml
3239
# .idea/*.iml
3340
# .idea/modules
41+
# *.iml
42+
# *.ipr
3443

3544
# CMake
3645
cmake-build-*/
@@ -53,6 +62,9 @@ atlassian-ide-plugin.xml
5362
# Cursive Clojure plugin
5463
.idea/replstate.xml
5564

65+
# SonarLint plugin
66+
.idea/sonarlint/
67+
5668
# Crashlytics plugin (for Android Studio and IntelliJ)
5769
com_crashlytics_export_strings.xml
5870
crashlytics.properties
@@ -62,27 +74,23 @@ fabric.properties
6274
# Editor-based Rest Client
6375
.idea/httpRequests
6476

65-
### Intellij+all Patch ###
66-
# Ignores the whole .idea folder and all .iml files
67-
# See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360
68-
69-
.idea/
70-
71-
# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023
72-
73-
*.iml
74-
modules.xml
75-
.idea/misc.xml
76-
*.ipr
77+
# Android studio 3.1+ serialized cache file
78+
.idea/caches/build_file_checksums.ser
7779

80+
### Intellij+all Patch ###
81+
# Ignore everything but code style settings and run configurations
82+
# that are supposed to be shared within teams.
7883

79-
# End of https://www.gitignore.io/api/intellij+all
84+
.idea/*
8085

86+
!.idea/codeStyles
87+
!.idea/runConfigurations
8188

8289
### Rust ###
8390
# Generated by Cargo
8491
# will have compiled files and executables
85-
/target/
92+
# debug/
93+
target/
8694

8795
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
8896
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
@@ -91,5 +99,45 @@ Cargo.lock
9199
# These are backup files generated by rustfmt
92100
**/*.rs.bk
93101

94-
95-
# End of https://www.gitignore.io/api/rust
102+
# MSVC Windows builds of rustc generate these, which store debugging information
103+
*.pdb
104+
105+
### Vim ###
106+
# Swap
107+
[._]*.s[a-v][a-z]
108+
!*.svg # comment out if you don't need vector files
109+
[._]*.sw[a-p]
110+
[._]s[a-rt-v][a-z]
111+
[._]ss[a-gi-z]
112+
[._]sw[a-p]
113+
114+
# Session
115+
Session.vim
116+
Sessionx.vim
117+
118+
# Temporary
119+
.netrwhist
120+
*~
121+
# Auto-generated tag files
122+
tags
123+
# Persistent undo
124+
[._]*.un~
125+
126+
### VisualStudioCode ###
127+
.vscode/*
128+
!.vscode/settings.json
129+
!.vscode/tasks.json
130+
!.vscode/launch.json
131+
!.vscode/extensions.json
132+
!.vscode/*.code-snippets
133+
134+
# Local History for Visual Studio Code
135+
.history/
136+
137+
# Built Visual Studio Code Extensions
138+
*.vsix
139+
140+
### VisualStudioCode Patch ###
141+
# Ignore all local history of files
142+
.history
143+
.ionide

Cargo.toml

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,49 @@
11
[package]
22
name = "educe"
3-
version = "0.4.23"
3+
version = "0.5.0-beta.1"
44
authors = ["Magic Len <len@magiclen.org>"]
55
edition = "2021"
66
rust-version = "1.56"
77
repository = "https://github.com/magiclen/educe"
88
homepage = "https://magiclen.org/educe"
99
keywords = ["derive", "macro", "trait", "field", "procedural"]
1010
categories = ["no-std", "rust-patterns"]
11-
description = "This crate provides procedural macros to help you implement Rust-built-in traits quickly."
11+
description = "This crate offers procedural macros designed to facilitate the swift implementation of Rust's built-in traits."
1212
license = "MIT"
1313
include = ["src/**/*", "Cargo.toml", "README.md", "LICENSE"]
1414

1515
[lib]
1616
proc-macro = true
1717

1818
[dependencies]
19-
proc-macro2 = "1"
20-
syn = { version = "1", features = ["full"] }
19+
syn = "2"
2120
quote = "1"
21+
proc-macro2 = "1"
2222

23-
enum-ordinalize = "3.1"
23+
enum-ordinalize = { version = "4.2", default-features = false, features = ["derive"] }
2424

2525
[dev-dependencies]
26+
syn = { version = "2", features = ["full"] }
2627
assert-eq-float = "0.1"
28+
rustversion = "1"
2729

2830
[features]
29-
default = ["Debug", "PartialEq", "Eq", "PartialOrd", "Ord", "Hash", "Default", "Clone", "Copy", "Deref", "DerefMut"]
31+
default = ["Debug", "Clone", "Copy", "PartialEq", "Eq", "PartialOrd", "Ord", "Hash", "Default", "Deref", "DerefMut"]
32+
33+
full = ["syn/full"]
34+
3035
Debug = []
36+
Clone = []
37+
Copy = []
3138
PartialEq = []
3239
Eq = []
3340
PartialOrd = []
3441
Ord = []
3542
Hash = []
3643
Default = []
37-
Clone = []
38-
Copy = []
3944
Deref = []
4045
DerefMut = []
46+
47+
[package.metadata.docs.rs]
48+
all-features = true
49+
rustdoc-args = ["--cfg", "docsrs"]

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2018 magiclen.org (Ron Li)
3+
Copyright (c) 2023 magiclen.org (Ron Li)
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

0 commit comments

Comments
 (0)