Wolfgang Bumiller
e692e69e14
remove Cargo.lock as we currently have no git dependencies
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-09-11 09:26:00 +02:00
Wolfgang Bumiller
7864cef16d
update hyper & tokio to alpha releases
...
tokio: alpha.2 to alpha.4
hyper: git alpha.0 to crates.io alpha.1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-09-06 10:13:32 +02:00
Wolfgang Bumiller
4e14a09551
cargo update
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@errno.eu>
2019-08-23 16:47:53 +02:00
Wolfgang Bumiller
5c5db5ccc1
tools: tests for static_assert_size macro
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@errno.eu>
2019-08-23 16:47:27 +02:00
Wolfgang Bumiller
f1351e7e41
tools: add a static size assertion
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-23 11:26:57 +02:00
Wolfgang Bumiller
e1ebf9b67e
tools: borrow: use ManuallyDrop
...
While Option serves a similar purpose, ManuallyDrop is an
api more directed at what we're actually doing here.
Note that Option<Box<>> is sort of guaranteed to have the
same layout as Box<> mostly due to the fact that Box<>
cannot be null, whereas ManuallyDrop is always guaranteed to
be the same layout as the inner type.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-22 09:53:40 +02:00
Wolfgang Bumiller
ec1448cd29
[clippy] api: mostly noise reduction
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-22 09:45:39 +02:00
Wolfgang Bumiller
09d84f6634
[clippy] tools: lifetimes and constants
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-22 09:42:05 +02:00
Wolfgang Bumiller
a11f6e88f8
[clippy] sys: simplifications and optimizations
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-22 09:28:44 +02:00
Wolfgang Bumiller
05b432c422
[clippy] macro: remaining clippy lints
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-22 09:24:37 +02:00
Wolfgang Bumiller
c241be9e6a
[clippy] macro: ident implements comparsion with strings
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-22 09:20:49 +02:00
Wolfgang Bumiller
7f2ae4f272
[clippy] api-test: remove unnecessary lifetimes
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-22 09:15:03 +02:00
Wolfgang Bumiller
d06b2b277c
[clippy] api-test: remaining changes to memory.rs
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-22 09:09:41 +02:00
Wolfgang Bumiller
c6e022523b
[clippy] api-test: more int by value passing
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-22 09:07:07 +02:00
Wolfgang Bumiller
dffed98348
[clippy] api-test: simplify some loops
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-22 09:04:57 +02:00
Wolfgang Bumiller
adf6727072
[clippy] api-test: generalize HashSet impls and closure cleanups
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-22 09:04:55 +02:00
Wolfgang Bumiller
4a33af4387
[clippy]: api-test: fix unsuffixed memory values
...
Clippy actually noticed that the else branch was the same as
the one for the 'b' suffix...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-21 16:59:19 +02:00
Wolfgang Bumiller
27f954f632
[clippy] api-test: use trailing zeros, pattern efficiency
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-21 16:56:22 +02:00
Wolfgang Bumiller
2551fe4a74
[clippy] api-test: pass Copy integer by value
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-21 16:53:19 +02:00
Wolfgang Bumiller
45b5839e7e
replace std::mem::uninitialized
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-21 16:49:12 +02:00
Wolfgang Bumiller
e59456e0b7
tools: fs: rename CreateOptions::empty to new
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-21 12:01:43 +02:00
Wolfgang Bumiller
47fdbc6a32
tools: fs: add create_path and CreateOptions
...
To allow creating paths recursively with options. (Basically
extends `std::fs::create_dir_all`.)
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-21 11:51:45 +02:00
Wolfgang Bumiller
aadb47a292
update nix to 0.15 for mkdirat
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-21 11:51:45 +02:00
Wolfgang Bumiller
4a1c914827
tools: fd: improve drop handler and add some helpers
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-21 11:51:45 +02:00
Wolfgang Bumiller
68f4a68bc1
formatting cleanup
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-21 10:15:42 +02:00
Wolfgang Bumiller
acbf549bf0
tools: fs: import unistd::{Uid,Gid} fully
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-21 10:15:21 +02:00
Wolfgang Bumiller
0eadf624e0
upgrade to tokio-0.2.0-alpha.2
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-20 12:22:13 +02:00
Wolfgang Bumiller
b7ff60bdd3
use tokio's current alpha.1 release
...
one less git dependency to track for now
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-19 12:21:05 +02:00
Wolfgang Bumiller
abc32ba70f
cleanup
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-16 13:15:39 +02:00
Wolfgang Bumiller
2ecd147036
tools: add borrow::Tied with example docs
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-16 12:36:27 +02:00
Wolfgang Bumiller
025eaf5519
api-macro: fix non-async test case after adding verifiers
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-16 12:21:32 +02:00
Wolfgang Bumiller
9fd9bd53fd
api-test: update curl examples
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-16 10:20:26 +02:00
Wolfgang Bumiller
bb937395f7
macro: functions: call verify() on all parameters
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-16 10:18:33 +02:00
Wolfgang Bumiller
3d15cca7d6
api-test: add a short example shell script for now
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-16 09:49:22 +02:00
Wolfgang Bumiller
021a381f18
api-test: add example with a more complex struct
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-16 09:44:40 +02:00
Wolfgang Bumiller
5be4143d92
api: allow () type, but panic when used as CLI input
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-16 09:44:25 +02:00
Wolfgang Bumiller
a7b9c8d89e
fixup tests for router change
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@errno.eu>
2019-08-15 20:26:18 +02:00
Wolfgang Bumiller
8b77b3d08c
api-test: add a json-body multi-parameter test method
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@errno.eu>
2019-08-15 11:03:10 +02:00
Wolfgang Bumiller
82f8df963e
api: router: return Map on lookup
...
Instead of a Value, makes it easier to use the parameters
later on.
Signed-off-by: Wolfgang Bumiller <w.bumiller@errno.eu>
2019-08-15 11:02:09 +02:00
Wolfgang Bumiller
6705d13424
api-test: comments/cleanup
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@errno.eu>
2019-08-15 10:28:14 +02:00
Wolfgang Bumiller
bb2639bf40
formatting fixup
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-12 14:34:23 +02:00
Wolfgang Bumiller
8e24ada75a
macro: support deriving Display for newtypes
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-12 14:01:21 +02:00
Wolfgang Bumiller
50f5115718
macro: fix enum verify method
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-12 14:00:59 +02:00
Wolfgang Bumiller
37cf2e6208
macro: fixup previous commit: remove hardcoded error
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-12 13:30:35 +02:00
Wolfgang Bumiller
0046e5e33a
macro: experimental support for enums with values
...
enum Foo {
Variant1(Type), // allowed
Variant2(Type, Type), // not allowed
Variant3 { name: Type }, // not allowed
}
In the simple case of a single type we simply drop the
automatically derived `FromStr`/`Display` impls and expect
the user to implement them manually, while in the `verify()`
method we simply match on self and forward to the inner
verifier.
So to get "tagged unions" in the API, implement a proper
API type for each variant, then add an enum with 1-tuple
variants.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-12 12:00:12 +02:00
Wolfgang Bumiller
fb5670c5b5
macro: remove exact futures-preview version
...
Otherwise we have .16 and .17 in the same project. And we
can't go to .18 currently until hyper/tokio git-master are
in sync again.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-12 10:42:19 +02:00
Wolfgang Bumiller
169bf79c72
formatting cleanup
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-09 12:42:06 +02:00
Wolfgang Bumiller
ed503f689d
macro: split enum handler into separate module
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-09 12:42:06 +02:00
Wolfgang Bumiller
59d0c72642
macro: split struct handlers into separate submodules
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-09 12:42:06 +02:00
Wolfgang Bumiller
841c2a218d
macro: split function handler into separate file
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-08-09 12:42:06 +02:00