Gilad Naaman
923a5f2386
Automatically enable const evaluation
...
When running on a compiler newer than 1.65,
automatically enable usage of the macro in const contexts.
Closes https://github.com/Gilnaa/memoffset/issues/4
2022-12-11 21:53:36 +02:00
Gilad Naaman
eb2a79cb6d
Update docs WRT repr(Rust) ( #69 )
...
Issue:
- https://github.com/Gilnaa/memoffset/issues/59
2022-10-16 16:49:41 +02:00
Gilad Naaman
af6689589f
Add some compile-fail tests. ( #68 )
...
Ticket:
- https://github.com/Gilnaa/memoffset/issues/23
2022-10-10 21:00:44 +02:00
Gilad Naaman
6a48918fd1
Update src/raw_field.rs
...
Co-authored-by: Ralf Jung <post@ralfj.de >
2022-10-10 20:46:09 +03:00
Gilad Naaman
b17ae388df
Update src/offset_of.rs
...
Co-authored-by: Ralf Jung <post@ralfj.de >
2022-10-10 20:45:55 +03:00
Gilad Naaman
71c39fbdfb
Support unions in offset_of(_union)
2022-10-10 17:48:18 +03:00
yvt
2a74b62c26
Suppress clippy::unneeded_wildcard_pattern ( #64 )
2022-02-23 22:19:16 -05:00
yvt
42483952ce
Remove #![feature(const_raw_ptr_deref)]
...
It's now stable in nightly.
2021-12-03 22:22:23 +09:00
yvt
4c71bed98d
Remove #![feature(const_maybe_uninit_as_ptr)]
...
It's now stable in nightly.
2021-12-03 22:21:14 +09:00
Aleksey Kladov
db56a2d8ce
Modernize doc examples to use idiomatic Rust
2021-11-12 13:34:44 +03:00
Ralf Jung
7c247a4c36
update feature flags and docs for const offset_of
2021-03-28 18:59:07 +02:00
Ralf Jung
bf9450ea19
fix build on old rustc
2021-03-27 15:30:05 +01:00
Ralf Jung
4746d5a0a8
move mem and ptr into __priv
2021-03-27 15:26:49 +01:00
Ralf Jung
5f9e008def
avoid use of size_of_val in span_of
2021-03-27 15:21:43 +01:00
Ralf Jung
ca3425e81a
rename _memoffset_offset_from macro to reflect that it is unsafe to call
2021-03-26 09:52:02 +01:00
Ralf Jung
e66b61937d
avoid putting user code inside unsafe blocks
2021-03-26 00:01:10 +01:00
Boqun Feng
576166bb63
Use stablilized addr_of! macro ( #50 )
...
Since Rust 1.51.0, support for macro addr_of! has been stabilized[1],
and this provides a way to get a raw pointer without potential UB in
some cases.
Memoffset alreadly uses the feature at the pre-stablilized stage (the
macro was named as raw_const! then). Therefore, switch to use the
stablilized version (and name) if Rust 1.51.0 and above is used,
otherwise use the original fallback version, which works in a less
technically correct way.
[1]: https://github.com/rust-lang/rust/pull/72279
Signed-off-by: Boqun Feng <boqun.feng@gmail.com >
2021-03-08 19:56:59 +01:00
Andrew Gaspar
5f8f5a6b9e
Support tuples in offset_of ( #48 )
...
Support tuple types via new offset_of_tuple / raw_field_tuple macros
2020-10-23 09:16:25 +02:00
Ralf Jung
bcf50b5cdd
use MaybeUninit::as_ptr instead of transmute
2020-08-09 18:44:38 +02:00
Roland
9520967b00
Remove const_transmute feature dependency ( #45 )
...
Remove `const_transmute` feature flag
`const_transmute` has been stabilized on current nightly, see https://github.com/rust-lang/rust/pull/72920 .
Document `const_fn_transmute` requirement when using `offset_of!` inside a `const fn`.
Add test for `offset_of!` inside a `const fn`.
2020-07-31 00:21:18 +02:00
Ralf Jung
782c7d4408
fix allow_clippy
2020-06-22 10:43:53 +02:00
Ralf Jung
6098248fd4
share more code in raw_field
2020-06-22 10:07:50 +02:00
Ralf Jung
a1a14b8120
factor difference between const and non-const into sub-macro
2020-06-22 10:06:53 +02:00
Ralf Jung
8c8900af68
make the const variant closer to the normal variant (just the offset part is different)
2020-06-21 12:12:34 +02:00
Ralf Jung
eb7f7554ef
span_of: use raw_field macro for more safety
2020-06-21 12:00:25 +02:00
Ralf Jung
b5e7f3febb
move raw_field macro to its own file
2020-06-21 11:53:48 +02:00
Ralf Jung
a6b5aec20f
fmt
2020-06-20 15:02:40 +02:00
Ralf Jung
8c5200e9e2
add support for using raw_ref macros
2020-06-20 14:23:50 +02:00
Ralf Jung
e002a54759
rustfmt
2020-03-16 17:33:13 +01:00
Ralf Jung
81a6523a09
avoid accessing libcore for compat with old Rust versions
2020-03-16 17:33:08 +01:00
Ralf Jung
497aded88d
add raw_field macro to compute raw ptr to field
2020-03-16 17:02:11 +01:00
AnthonyMikh
3e5dcf2b1d
Fix a typo in comment
2020-03-10 02:07:14 +03:00
Ralf Jung
184f360863
Merge pull request #36 from RalfJung/miri
...
better way to ignore tests in Miri
2019-12-11 16:44:56 +01:00
Ralf Jung
d3f5f23483
Merge pull request #35 from RalfJung/allow-clippy
...
allow clippy lint
2019-12-07 13:21:12 +01:00
Ralf Jung
6a2923359e
better way to ignore tests in Miri
2019-12-07 12:17:22 +01:00
Ralf Jung
13bc1f51a8
allow clippy lint only on recent enough compilers
2019-11-17 20:47:03 +01:00
Ralf Jung
3415814930
remove redundant namespacing from some features
2019-11-17 20:45:27 +01:00
Gilad Naaman
425477dc5b
Added impl for constant offset_of
2019-11-16 22:34:38 +02:00
Ralf Jung
5a617d7cc5
allow clippy lint
2019-11-16 21:30:32 +01:00
Gilad Naaman
ef0d8a7bf9
Fixed build for old nightlies where doctests were not present.
2019-11-07 18:43:17 +02:00
Gilad Naaman
c14a163376
Merge pull request #28 from RalfJung/comment
...
remove confusing comment
2019-08-29 07:02:08 +03:00
Ralf Jung
75e308cda6
Merge pull request #27 from Amanieu/path
...
Change the struct parameter from a tt to a path.
2019-08-28 20:13:23 +02:00
Ralf Jung
d7070d4b25
remove confusing comment
2019-08-28 20:11:08 +02:00
Amanieu d'Antras
86689325ee
Change the struct parameter from a tt to a path.
...
This allows name paths with :: to be passed in.
2019-08-28 17:07:38 +01:00
Maarten de Vries
f393002504
Update library documentation to reflect removal of const implementation.
2019-08-28 15:45:59 +02:00
Ralf Jung
28021da8ec
explain why we do not have deref coercion problems
2019-08-10 15:11:59 +02:00
Ralf Jung
564d4a6c11
fmt
2019-08-10 11:59:57 +02:00
Ralf Jung
a614a209ab
no need to use NonNull
2019-08-10 11:59:47 +02:00
Ralf Jung
2931fc3024
test README only on nightly, so that it can be a dev-dependency
2019-08-10 11:43:04 +02:00
Ralf Jung
5abf873462
fix testing README and fix README tests
2019-08-10 11:12:48 +02:00