Olivier Goffart
05a6681b92
The version 0.3.2 of field-offset was released
2020-08-24 16:39:47 +02:00
Olivier Goffart
ea1f215367
Some polishinbg of the .toml files
...
- Give all the sixtyfps-* create a 0.0.1 version
- Make sure that the internal dependences are using the exact same version
(so "=0.0.1")
- Add the description/homepage/repository fields in the .toml files
- Set publish=false to crates that are not meant to be published on crates.io
2020-08-24 16:28:11 +02:00
Olivier Goffart
cbeb982684
Use the FieldOffset struct from the upstream create
2020-08-24 11:20:38 +02:00
Simon Hausmann
b9bcf01019
Exclude const-field-offset from the license check
...
This is in fact a third-party crate slightly forked
2020-08-18 13:59:31 +02:00
Simon Hausmann
7f1d9f5252
Commit correct license tags to Cargo.toml
...
For now that's GPL-3.0 only, but this can be changed :-)
2020-08-18 10:12:59 +02:00
Simon Hausmann
2823f32692
Apply license headers to all non-binary/non-json sources
2020-08-17 17:55:20 +02:00
Simon Hausmann
c7827c9dd5
Add support for Drop when using #[pin] with const_field_offset
...
A new attribute implements the Drop mechanics outlined in the Pin
documentation without requiring the use of unsafe on the caller side,
by means of an intermediate PinnedDrop trait.
2020-08-14 13:44:53 +02:00
Olivier Goffart
681f304768
Add a few Debug impl
2020-08-10 17:25:15 +02:00
Olivier Goffart
0a56912d0f
Mouse grab in rust
2020-08-07 16:06:49 +02:00
Olivier Goffart
0b1648d891
Fix formating
2020-08-04 11:52:47 +02:00
Olivier Goffart
1bfd708784
Change the field_offsets() function to a FIELD_OFFSETS associated const
2020-08-03 16:04:55 +02:00
Olivier Goffart
86a85cf838
vtable: change #[offset] to #[field_offset]
...
And add a documentation for it
2020-08-03 11:26:48 +02:00
Olivier Goffart
00c32e9c6d
vtable: remove the convinient type alias from the macro
...
If one really need them, they can be implemented by the user
2020-08-03 11:03:24 +02:00
Olivier Goffart
2e74fa43cd
Use pin-weak from crates.io
2020-08-03 09:18:04 +02:00
Olivier Goffart
cb67e40c32
Rename WeakPin -> PinWeak
2020-07-31 18:19:26 +02:00
Olivier Goffart
75671c18e7
Rename weak-pin crate to pin-weak
2020-07-31 18:18:12 +02:00
Olivier Goffart
77cf1e1e83
Some documentation change following today review
2020-07-31 16:28:59 +02:00
Simon Hausmann
9d9779ecde
Fix linter warning
...
When docs are required, don't require them for the generated field offset module.
2020-07-07 14:14:17 +02:00
Olivier Goffart
f8a63b1b76
Add a weak-pin crate that can be used to create Weak pointr from Pin<Rc>
2020-06-26 17:30:40 +02:00
Olivier Goffart
1b748792ad
Visit the item as Pin
...
A preparation to have Property::get to take Pin<Self>
2020-06-25 18:50:20 +02:00
Olivier Goffart
40f4265071
Some improvement in ConstFieldOffset trait
2020-06-25 18:23:08 +02:00
Olivier Goffart
812b08b50c
const_field_offset: Add compile type type for the offset
...
WIP
2020-06-25 17:46:29 +02:00
Simon Hausmann
c18861125d
Small typo fix :-)
2020-06-25 14:22:10 +02:00
Olivier Goffart
f50a705e00
Add the #[pin] attribute to be able to project to the pinned item
2020-06-25 12:18:09 +02:00
Olivier Goffart
9ed660926c
Added a #[pin] attribute in the FieldOffsets macro
2020-06-25 12:18:09 +02:00
Olivier Goffart
23e9397578
Add a Pinned flag to FieldOffset
...
So we can have Pinned projection
2020-06-25 12:18:09 +02:00
Olivier Goffart
d4e68971ef
Make FieldOffset contra-variant in U
2020-06-24 18:53:53 +02:00
Olivier Goffart
4960cee542
const-field-offset: some documentation fixup
2020-06-24 18:20:14 +02:00
Olivier Goffart
b6705c6c69
const_field_offset: ensure that the structure is not repr(packed)
2020-06-24 18:20:14 +02:00
Olivier Goffart
caca0d0ba4
Put the component in a Pin<>
...
Removed the drop and create from the ComponentVTable:
since we are not using VBox<ComponentVTable>, this simplifies a bit
the code of the interpreter and everything else.
But there is still a lot of changes everywhere to support that the Component
is pinned.
This is just for the component. Which would be required if later we want
to access the properties as Pin<Property<_>>. But we have not yet ability
to do projections
2020-06-24 14:13:27 +02:00
Olivier Goffart
f74c801b59
Fix a bunch of warning in the generated rust
2020-06-17 10:26:20 +02:00
Olivier Goffart
064db5aa5b
const-field-offset: Add a way to specify the crate name
2020-06-16 13:47:02 +02:00
Olivier Goffart
30b201d946
Reduce the use of unsafe in corelib and in the rust backend
2020-06-12 19:03:15 +02:00
Olivier Goffart
bbb2b487b9
Implement a way to create a VRef for non static vtable
2020-06-12 17:09:51 +02:00
Olivier Goffart
34931e58c0
Polishing of the documentation
2020-06-08 17:57:18 +02:00
Simon Hausmann
5e7c6372fd
Fix cross-compilation of vtable
...
syn/quote/proc-macro are not needed at run-time for the vtable use.
2020-06-08 13:00:55 +02:00
Olivier Goffart
0a48252702
Interpreter: implement the ComponentVTable properly
...
with the drop and construct function
2020-06-03 17:33:26 +02:00
Olivier Goffart
9c3dbe1a81
Small doc fixup to workaround rustdoc bug
...
https://github.com/rust-lang/rust/issues/45939
https://github.com/rust-lang/rust/issues/60543
2020-05-31 16:20:22 +02:00
Olivier Goffart
5f01ec30ee
Fix the viewer using generated rtti from a macro
...
One thing that needed to change is that we needed the vtable to be unique
2020-05-30 15:08:51 +02:00
Olivier Goffart
8c39ada671
Add downcast method to VRef and VRefMut
2020-05-28 09:18:28 +02:00
Olivier Goffart
0f977cbb25
Some documentation fixes for item generated with #[vtable]
2020-05-22 12:38:55 +02:00
Olivier Goffart
bf3a0878b5
Add documentation for the vtable crate
2020-05-22 11:17:45 +02:00
Olivier Goffart
f4714f2f5b
Add missing file
2020-05-18 16:00:18 +02:00
Olivier Goffart
68cea2aeec
Fix soundness hole in FieldOffset
...
This was cause by the change to allow to create FieldOffset in const constext
because a Fn(T)->U is not allowed in a const constext.
But we need to be contravariant in T.
2020-05-18 11:06:44 +02:00
Olivier Goffart
07942da4bb
vtable: introduce VOffset
2020-05-18 11:06:44 +02:00
Olivier Goffart
1addcad615
vtable: Fix the repr
2020-05-18 11:06:44 +02:00
Olivier Goffart
5a9cbaae66
vtable add support for field offset in the vtable
2020-05-18 11:06:44 +02:00
Olivier Goffart
751a3fbe59
Work on const field offset crate to give type safe offsets
2020-05-18 11:06:44 +02:00
Olivier Goffart
aff3d7e14b
vtable: add safe way to construct references
2020-05-18 11:06:44 +02:00
Olivier Goffart
810a3905a7
Add VBox::new
2020-05-18 11:06:44 +02:00