I feel the change would also affect these points:

https://github.com/servo/servo/blob/master/src/components/layout/flow.rs#L277
https://github.com/servo/servo/blob/master/src/components/layout/flow.rs#L290

2014-08-27 7:17 GMT+09:00 Jack Moffitt <j...@metajack.im>:
> There are at least two cases of this, both currently annotated with FIXME:
>
> https://github.com/servo/servo/search?utf8=%E2%9C%93&q=TraitObject
>
> Thanks for the heads up!
>
> jack.
>
> On Tue, Aug 26, 2014 at 4:14 PM, Nick Cameron <li...@ncameron.org> wrote:
>> For the next Rust upgrade you should be aware of a subtle breaking change -
>> the compiler's internal representation of trait objects has changed.
>> Previously trait objects were represented as a pair of pointer-to-vtable,
>> pointer-to-data. That order has been reveresed to pointer-to-data,
>> pointer-to-vtable (to make it uniform with pointers to slices). If you
>> transmute one of these fat pointers into a struct (or anything else,
>> assuming an ordering) and use its fields, you will get some really weird
>> bugs, possibly nowhere near the actual transmute. A quick look at the Servo
>> code indicates you are doing this. The correct thing to do is to transmute
>> to core::raw::TraitObject.
>>
>> To help find these evil transmutes, I added a lint (allow by default) -
>> TRANSMUTE_FAT_PTR - which will show you any instances where you transmute
>> to or from any fat pointer. There will be lots of false positives - where
>> you are transmuting to/from just to change the lifetime or mutability or
>> where you're already using the core::raw structs.
>>
>> Let me know if you have any questions about the change.
>>
>> Cheers, Nick
>> _______________________________________________
>> dev-servo mailing list
>> dev-servo@lists.mozilla.org
>> https://lists.mozilla.org/listinfo/dev-servo
> _______________________________________________
> dev-servo mailing list
> dev-servo@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-servo



-- 
Tetsuharu OHZEKI
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to