From cf3899e4b7cc4f233710e6e25222d2ccaa05a0f7 Mon Sep 17 00:00:00 2001 From: Luke Curley <432854+kixelated@users.noreply.github.com> Date: Mon, 2 Nov 2026 10:08:16 -0800 Subject: [PATCH 1/6] feat(ts): translate Rc, Weak, and Pin trait objects, and Rc and Arc from a box of one Co-Authored-By: Claude Opus 5.5 --- quest/m3/README.md | 1 + quest/m3/ts-dyn-tail.md | 19 + ts/README.md | 19 +- ts/fixtures/lang/expected/core/any.Any.ts | 13 + ts/fixtures/lang/expected/core/option.ts | 9 +- ts/fixtures/lang/expected/core/result.ts | 16 +- ts/fixtures/lang/expected/dyns.Looped.ts | 50 ++ ts/fixtures/lang/expected/dyns.Noisy.ts | 56 ++ ts/fixtures/lang/expected/dyns.Shape.ts | 74 ++ ts/fixtures/lang/expected/dyns.ts | 256 +++++- ts/fixtures/lang/expected/harness.ts | 4 +- ts/fixtures/lang/expected/lib.ts | 35 + ts/fixtures/lang/src/dyns.rs | 185 ++++- ts/fixtures/lang/src/harness.rs | 1 + ts/fixtures/reject/census.md | 943 +++++++++++----------- ts/fixtures/reject/expected.txt | 337 ++++---- ts/fixtures/reject/src/lib.rs | 7 - ts/fixtures/reject/ts.toml | 1 - ts/runtime/rt/task.ts | 39 +- ts/src/lower/dynamic.rs | 15 +- ts/src/lower/library.rs | 10 + ts/src/lower/mir/rvalue.rs | 47 ++ 22 files changed, 1460 insertions(+), 677 deletions(-) create mode 100644 quest/m3/ts-dyn-tail.md create mode 100644 ts/fixtures/lang/expected/dyns.Looped.ts create mode 100644 ts/fixtures/lang/expected/dyns.Noisy.ts diff --git a/quest/m3/README.md b/quest/m3/README.md index f96a26967..cd961c8dd 100644 --- a/quest/m3/README.md +++ b/quest/m3/README.md @@ -18,6 +18,7 @@ generic std gap is planned here even when moq never calls it. - [Unsafe code the translator can model](/quest/m3/ts-unsafe.md) - a dependency using only `unsafe` the translator can model translates from source - [The capacity of a BytesMut](/quest/m3/ts-bytes-capacity.md) - `BytesMut::capacity` and what reads it translate with `bytes`' values - [Trait objects](/quest/m3/ts-dyn.md) - `dyn Error`, `dyn Iterator`, `dyn Buf`, and `Arc` translate, so a consumer neither rewrites nor binds them +- [A trait object in a struct's last field](/quest/m3/ts-dyn-tail.md) - `Rc>` and the like translate, the last field as the object - [Placeholders written to a crate's own fmt::Write](/quest/m3/ts-fmt-calls.md) - `write!` with placeholders into a crate's own writer translates, its `write_str` seeing each call std makes - [Waiting: type-check in process with tsrs](/quest/m3/ts-tsrs.md) - rust2-ts checks bindings through tsrs instead of `tsc` once it is a stable library - [Drop order in std's folds and iterators](/quest/m3/ts-drop-order.md) - the values that drop still refused in std's consumers, flattens, and collects drop as std's do diff --git a/quest/m3/ts-dyn-tail.md b/quest/m3/ts-dyn-tail.md new file mode 100644 index 000000000..7de0b0277 --- /dev/null +++ b/quest/m3/ts-dyn-tail.md @@ -0,0 +1,19 @@ +# [M] A trait object in a struct's last field + +## Goal + +[rust2-ts](/ts/README.md) translates a pointer to a struct whose last field unsizes to a +trait object, such as `Rc>`, `Arc>`, or the crate's +own `&Tail`, with Rust's dispatch, borrow checks, and drop order, proven by a +differential test against native Rust. + +## Plan + +Found writing the `Rc`, `Weak`, and `Pin` trait objects on 2026-11-02: these fail as "a +coercion to `Rc>`, which is not supported yet", and the reject fixture +keeps `tail_read`. `Rc>` is the common shared, mutable object in Rust. + +One shape: the struct's other fields stay as they are, and the last one is the object a box of +its value would be, so a `RefCell`'s and a `Mutex`'s guards lend the object. + +Public API: the translator's output. diff --git a/ts/README.md b/ts/README.md index 24d506ebf..eacdd1aa6 100644 --- a/ts/README.md +++ b/ts/README.md @@ -120,7 +120,7 @@ crate translation reaches is refused, and so are two versions of one crate it re | `Duration` | `rt.Duration`: `{ secs, nanos }`, std's whole seconds as an `rt.u64` and the nanoseconds past them, never changed once made | | closure | an arrow function, with `[Symbol.dispose]` if it owns a value that drops, and what makes its clone if a clone can't be itself | | `fn` pointer, function item as a value | the function, as a closure is typed: a `()` result is `undefined`, where a declared function returns `void` | -| `&dyn Trait`, `&mut dyn Trait`, `Box`, `Arc` | an object with the trait's methods, its supertraits' included: `shape.area$Shape()`; behind an `Arc`, an `rt.ArcDyn` sharing the count of the `Arc` it was made from | +| `&dyn Trait`, `&mut dyn Trait`, `Box`, `Arc`, `Rc`, `Weak`, `Pin

` of one | an object with the trait's methods, its supertraits' included: `shape.area$Shape()`; behind an `Arc` or an `Rc`, an `rt.ArcDyn` sharing the count of the `Arc` it was made from | | `dyn Any` | an instance of the class its value's type was wrapped in, which a downcast checks for: `a instanceof Any.of$dyns_Square ? a.v : undefined` | | `dyn Fn`, `dyn FnMut`, `dyn FnOnce` | the closure or function it was made of: `(a0: rt.u8) => rt.u32` | | constant | its value, inlined as Rust inlines it, so each use of one holding a cell is a cell of its own; one with no value tree, or holding a cell, read from the memory rustc evaluated | @@ -445,7 +445,7 @@ as its fold ends, before what it wraps, as std's does. A `Vec`'s `drain` leaves what precedes its range until it drops, then drops what it still holds and moves the tail back, so one never dropped, as `mem::forget` leaves it, leaks the rest, as std's does. -A trait object of the crate's own trait, or a dependency's, behind `&`, `&mut`, `Box`, or `Arc`, is an object with +A trait object of the crate's own trait, or a dependency's, behind `&`, `&mut`, `Box`, `Arc`, `Rc`, or a `Pin` of one, is an object with a method for each function a call can dispatch to, its supertraits' included, named for its trait as an impl's function is and taking what follows `self`: `shape.area$Shape()`. The trait's module exports its type, `Shape.Shape` from `dyns.Shape.ts`, which a TS @@ -457,13 +457,18 @@ same object. A `Box` drops what it holds through its `[Symbol.dispose a TS caller's object may leave out. An `Arc` unsized to an `Arc`, or to an `Arc`, is an `rt.ArcDyn`: the object a box of its value would be, and the `Arc` it was made from, whose one count both sides' clones and drops change, and the -last of which drops the value. `Arc::ptr_eq` compares the `Arc`s. +last of which drops the value. `Arc::ptr_eq` compares the `Arc`s. An `Rc` is an `Arc`, +and a `Pin` the pointer it holds. A `Weak` unsized to a `Weak` keeps the +`Arc` and makes the `rt.ArcDyn` as it upgrades, since the value of `new_cyclic`'s +`Weak` is not there yet as it unsizes. `Arc::from` or `Rc::from` of a box is an `rt.Arc` +of what the box is, which drops it with the last clone. A `dyn Any` is such an object with no methods, whose class `is`, `downcast_ref`, -`downcast_mut`, and `Box`'s and `Arc`'s `downcast` check for: `a instanceof Any.of$dyns_Square ? +`downcast_mut`, and `Box`'s, `Arc`'s, and `Rc`'s `downcast` check for: `a instanceof Any.of$dyns_Square ? a.v : undefined`. A `&mut` one of a value JS copies is the class holding its `rt.Place`, or the class itself behind a `Box`, as a `&mut dyn Trait`'s is, and `Arc::downcast` gives -back the `Arc` the object was made from. +back the `Arc` the object was made from, or, of one made from a box, an `rt.ArcDyn` of +the value sharing its count. A `dyn Fn`, `dyn FnMut`, or `dyn FnOnce` is the closure or function it was made of, which a call calls as it does the closure, and which a box drops as it does the closure. One @@ -473,7 +478,7 @@ reference to one is `rt.lent` of it, which never drops it. A trait object of std or a mapped crate's trait other than `&dyn Debug`, `&dyn Display`, `dyn Future`, `dyn Any`, and the function traits, of a generic trait or one with an associated type, of a byte array, or behind any other pointer, such -as a `Weak` or a struct's last field, is refused, and so are an upcast to `dyn Any` and +as a struct's last field, is refused, and so are an upcast to `dyn Any` and `Any::type_id`. An `async fn` returns a future without running anything: an instance of a class of its @@ -842,7 +847,7 @@ they need. Byte reinterpretation, pointer arithmetic and addresses, raw allocation, and unions whose fields overlap in different types ([unsafe](/quest/m3/ts-unsafe.md)), and trait objects other than `&dyn Debug`, `&dyn Display`, `dyn Future`, `dyn Any`, `dyn Fn*`, and the translated crates' traits' -behind `&`, `&mut`, `Box`, or `Arc` ([trait objects](/quest/m3/ts-dyn.md)), fail translation. Until they translate, an item that needs one, such as a `dyn Error`, binds to +behind `&`, `&mut`, `Box`, `Arc`, `Rc`, `Weak`, or `Pin` ([trait objects](/quest/m3/ts-dyn.md)), fail translation. Until they translate, an item that needs one, such as a `dyn Error`, binds to hand-written TS ([bindings](#bindings)). These fail translation: `f16` and `f128`, a `Poll` of a `Poll` of a `Poll`, a future whose output can be pending, an instance of a generic type whose field is a `Poll` of a type parameter that can be pending, a closure that owns a value diff --git a/ts/fixtures/lang/expected/core/any.Any.ts b/ts/fixtures/lang/expected/core/any.Any.ts index 9346c60c5..b804cb57d 100644 --- a/ts/fixtures/lang/expected/core/any.Any.ts +++ b/ts/fixtures/lang/expected/core/any.Any.ts @@ -1,6 +1,7 @@ // Generated by rust2-ts. Do not edit. import * as rt from "../rt.ts"; +import type * as dyns_Noisy from "../dyns.Noisy.ts"; import type * as Square from "../dyns.Square.ts"; import type * as Tri from "../dyns.Tri.ts"; import type * as Fault from "../fmt.Fault.ts"; @@ -15,6 +16,18 @@ export class of$Option_u8 { } } +export class of$dyns_Noisy { + v: dyns_Noisy.Noisy; + + constructor(v: dyns_Noisy.Noisy) { + this.v = v; + } + + [Symbol.dispose](): void { + this.v[Symbol.dispose](); + } +} + export class of$dyns_Square { v: Square.Square; diff --git a/ts/fixtures/lang/expected/core/option.ts b/ts/fixtures/lang/expected/core/option.ts index 253343235..5ca32768f 100644 --- a/ts/fixtures/lang/expected/core/option.ts +++ b/ts/fixtures/lang/expected/core/option.ts @@ -292,6 +292,13 @@ export function map$1j8xzu6(self: rt.u8 | undefined | rt.None, f: (a0: rt.u8 | u return undefined; } +export function map$1i542n2(self: rt.Arc | undefined, f: (a0: rt.Arc) => rt.u32): rt.u32 | undefined { + if (self === undefined) { + return undefined; + } + return f(self); +} + export function map$1mp7tga(self: rt.i64[] | undefined, f: (a0: rt.i64[]) => rt.usize): rt.usize | undefined { if (self === undefined) { return undefined; @@ -707,7 +714,7 @@ export function map$155qrdr(self: rt.Arc | undefined, f: (a0 return f(self); } -export function map$1i542n2(self: rt.Arc | undefined, f: (a0: rt.Arc) => rt.u32): rt.u32 | undefined { +export function map$0j05j69(self: rt.Arc | undefined, f: (a0: rt.Arc) => rt.u32): rt.u32 | undefined { if (self === undefined) { return undefined; } diff --git a/ts/fixtures/lang/expected/core/result.ts b/ts/fixtures/lang/expected/core/result.ts index c684cb71a..2bd2bcc36 100644 --- a/ts/fixtures/lang/expected/core/result.ts +++ b/ts/fixtures/lang/expected/core/result.ts @@ -1,7 +1,7 @@ // Generated by rust2-ts. Do not edit. import * as rt from "../rt.ts"; -import { drop$Result_sync_MutexGuard_locks_Tally_sync_TryLockError_sync_MutexGuard_locks_Tally, drop$Result_sync_RwLockReadGuard_locks_Tally_sync_TryLockError_sync_RwLockReadGuard_locks_Tally, drop$Result_tuple2_usize_u8_sync_Arc_dyn_Any_marker_Sync_marker_Send } from "../lib.ts"; +import { drop$Result_sync_Arc_u32_sync_Arc_dyn_Any_marker_Sync_marker_Send, drop$Result_sync_MutexGuard_locks_Tally_sync_TryLockError_sync_MutexGuard_locks_Tally, drop$Result_sync_RwLockReadGuard_locks_Tally_sync_TryLockError_sync_RwLockReadGuard_locks_Tally, drop$Result_tuple2_usize_u8_sync_Arc_dyn_Any_marker_Sync_marker_Send } from "../lib.ts"; import { eq$09knsz6 as string_eq$09knsz6 } from "../alloc/string.ts"; import * as ByRef from "../collections.ByRef.ts"; import * as ByVal from "../collections.ByVal.ts"; @@ -446,6 +446,20 @@ export function ok$04yj0hm(self: rt.Result): rt.ByteSlic return undefined; } +export function ok$00p9ap8(self: rt.Result, rt.Arc>): rt.Arc | undefined { + let _0!: rt.Arc | undefined; + if (self.ok) { + _0 = self.value; + } else { + _0 = undefined; + } + if (!self.ok) { + drop$Result_sync_Arc_u32_sync_Arc_dyn_Any_marker_Sync_marker_Send(self); + return _0; + } + return _0; +} + export function ok$0lceojf(self: rt.Result<[rt.usize, rt.u8], rt.Arc>): [rt.usize, rt.u8] | undefined { let _0!: [rt.usize, rt.u8] | undefined; if (self.ok) { diff --git a/ts/fixtures/lang/expected/dyns.Looped.ts b/ts/fixtures/lang/expected/dyns.Looped.ts new file mode 100644 index 000000000..43b89b6a9 --- /dev/null +++ b/ts/fixtures/lang/expected/dyns.Looped.ts @@ -0,0 +1,50 @@ +// Generated by rust2-ts. Do not edit. + +import * as rt from "./rt.ts"; +import type * as dyns_Shape from "./dyns.Shape.ts"; + +/** Provided, and overridden by one impl. */ +export function sides$dyns_Shape(_self: Looped): rt.u8 { + return 4; +} + +export function intoArea$dyns_Shape(self: Looped): rt.u32 { + const _0: rt.u32 = rt.u32WrappingAdd(area$dyns_Shape(self), 1); + self[Symbol.dispose](); + return _0; +} + +/** Over early-bound lifetimes, which its signature takes as arguments too. */ +export function larger$dyns_Shape(self: Looped, other: rt.u32): rt.u32 { + return rt.max(area$dyns_Shape(self), other); +} + +/** Writes through a `&mut` to a number, which is an `rt.Place`. */ +export function tally$dyns_Shape(self: Looped, sum: rt.Place): void { + sum.v = rt.u32WrappingAdd(sum.v, area$dyns_Shape(self)); +} + +/** A shape holding a `Weak` of itself as a trait object, made inside `Rc::new_cyclic`. */ +export class Looped { + side: rt.u8; + me: rt.Weak; + + constructor(side: rt.u8, me: rt.Weak) { + this.side = side; + this.me = me; + } + + [Symbol.dispose](): void { + this.me[Symbol.dispose](); + } +} + +export function area$dyns_Shape(self: Looped): rt.u32 { + return rt.u32Add(self.side as rt.u32, 1); +} + +export function grow$dyns_Shape(self: Looped, by: rt.u8): void { + self.side = rt.u8WrappingAdd(self.side, by); +} + +//# sourceMappingURL=dyns.Looped.ts.map diff --git a/ts/fixtures/lang/expected/dyns.Noisy.ts b/ts/fixtures/lang/expected/dyns.Noisy.ts new file mode 100644 index 000000000..f75b059fb --- /dev/null +++ b/ts/fixtures/lang/expected/dyns.Noisy.ts @@ -0,0 +1,56 @@ +// Generated by rust2-ts. Do not edit. + +import * as rt from "./rt.ts"; + +/** Provided, and overridden by one impl. */ +export function sides$dyns_Shape(_self: Noisy): rt.u8 { + return 4; +} + +export function intoArea$dyns_Shape(self: Noisy): rt.u32 { + const _0: rt.u32 = rt.u32WrappingAdd(area$dyns_Shape(self), 1); + self[Symbol.dispose](); + return _0; +} + +/** Over early-bound lifetimes, which its signature takes as arguments too. */ +export function larger$dyns_Shape(self: Noisy, other: rt.u32): rt.u32 { + return rt.max(area$dyns_Shape(self), other); +} + +/** Writes through a `&mut` to a number, which is an `rt.Place`. */ +export function tally$dyns_Shape(self: Noisy, sum: rt.Place): void { + sum.v = rt.u32WrappingAdd(sum.v, area$dyns_Shape(self)); +} + +/** A shape that notes its id in a log as it drops. */ +export class Noisy { + _0: rt.u8; + _1: rt.Arc>; + + constructor(_0: rt.u8, _1: rt.Arc>) { + this._0 = _0; + this._1 = _1; + } + + [Symbol.dispose](): void { + drop$ops_Drop(this); + this._1[Symbol.dispose](); + } +} + +export function area$dyns_Shape(self: Noisy): rt.u32 { + return self._0 as rt.u32; +} + +export function grow$dyns_Shape(self: Noisy, by: rt.u8): void { + self._0 = rt.u8WrappingAdd(self._0, by); +} + +export function drop$ops_Drop(self: Noisy): void { + const _5: rt.RefCell = rt.refCellBorrowMut(self._1.value); + rt.byteVecPush(_5.value, self._0); + rt.refMutRelease(_5); +} + +//# sourceMappingURL=dyns.Noisy.ts.map diff --git a/ts/fixtures/lang/expected/dyns.Shape.ts b/ts/fixtures/lang/expected/dyns.Shape.ts index 5b85ac0f8..ea0792c61 100644 --- a/ts/fixtures/lang/expected/dyns.Shape.ts +++ b/ts/fixtures/lang/expected/dyns.Shape.ts @@ -3,6 +3,8 @@ import * as rt from "./rt.ts"; import { sides$dyns_Shape_u32, intoArea$dyns_Shape_u32, larger$dyns_Shape_u32, tally$dyns_Shape_u32 as dyns_tally$dyns_Shape_u32, area$dyns_Shape_u32, grow$dyns_Shape_u32 } from "./dyns.ts"; import * as Hits from "./dyns.Hits.ts"; +import * as Looped from "./dyns.Looped.ts"; +import * as dyns_Noisy from "./dyns.Noisy.ts"; import * as Square from "./dyns.Square.ts"; import * as Tri from "./dyns.Tri.ts"; @@ -41,6 +43,78 @@ export class of$dyns_Hits { } } +export class of$dyns_Looped { + v: Looped.Looped; + + constructor(v: Looped.Looped) { + this.v = v; + } + + [Symbol.dispose](): void { + this.v[Symbol.dispose](); + } + + area$Shape(): rt.u32 { + return Looped.area$dyns_Shape(this.v); + } + + grow$Shape(a: rt.u8): void { + return Looped.grow$dyns_Shape(this.v, a); + } + + intoArea$Shape(): rt.u32 { + return Looped.intoArea$dyns_Shape(this.v); + } + + larger$Shape(a: rt.u32): rt.u32 { + return Looped.larger$dyns_Shape(this.v, a); + } + + sides$Shape(): rt.u8 { + return Looped.sides$dyns_Shape(this.v); + } + + tally$Shape(a: rt.Place): void { + return Looped.tally$dyns_Shape(this.v, a); + } +} + +export class of$dyns_Noisy { + v: dyns_Noisy.Noisy; + + constructor(v: dyns_Noisy.Noisy) { + this.v = v; + } + + [Symbol.dispose](): void { + this.v[Symbol.dispose](); + } + + area$Shape(): rt.u32 { + return dyns_Noisy.area$dyns_Shape(this.v); + } + + grow$Shape(a: rt.u8): void { + return dyns_Noisy.grow$dyns_Shape(this.v, a); + } + + intoArea$Shape(): rt.u32 { + return dyns_Noisy.intoArea$dyns_Shape(this.v); + } + + larger$Shape(a: rt.u32): rt.u32 { + return dyns_Noisy.larger$dyns_Shape(this.v, a); + } + + sides$Shape(): rt.u8 { + return dyns_Noisy.sides$dyns_Shape(this.v); + } + + tally$Shape(a: rt.Place): void { + return dyns_Noisy.tally$dyns_Shape(this.v, a); + } +} + export class of$dyns_Square { v: Square.Square; diff --git a/ts/fixtures/lang/expected/dyns.ts b/ts/fixtures/lang/expected/dyns.ts index 8d043d1ba..4b86ff25e 100644 --- a/ts/fixtures/lang/expected/dyns.ts +++ b/ts/fixtures/lang/expected/dyns.ts @@ -1,13 +1,16 @@ // Generated by rust2-ts. Do not edit. import * as rt from "./rt.ts"; +import { drop$Result_Rc_dyns_Noisy_Rc_dyn_Any, drop$Result_Rc_dyns_Square_Rc_dyn_Any, drop$Result_Rc_dyns_Tri_Rc_dyn_Any } from "./lib.ts"; import * as Any from "./core/any.Any.ts"; -import { unwrapOr$1iemzn8 as option_unwrapOr$1iemzn8, unwrapOr$0r2bmpr as option_unwrapOr$0r2bmpr, map$1i542n2 as option_map$1i542n2, mapOr$06rr3sb as option_mapOr$06rr3sb } from "./core/option.ts"; -import { ok$0lceojf, map$0zzqmaz as result_map$0zzqmaz } from "./core/result.ts"; +import { unwrapOr$1iemzn8 as option_unwrapOr$1iemzn8, unwrapOr$0r2bmpr as option_unwrapOr$0r2bmpr, map$1i542n2 as option_map$1i542n2, map$0j05j69 as option_map$0j05j69, mapOr$06rr3sb as option_mapOr$06rr3sb } from "./core/option.ts"; +import { ok$00p9ap8, ok$0lceojf, map$0zzqmaz as result_map$0zzqmaz } from "./core/result.ts"; import * as dyns_Erased from "./dyns.Erased.ts"; import type * as Hits from "./dyns.Hits.ts"; import * as Hook from "./dyns.Hook.ts"; +import * as Looped from "./dyns.Looped.ts"; import * as dyns_Named from "./dyns.Named.ts"; +import * as dyns_Noisy from "./dyns.Noisy.ts"; import * as dyns_Shape from "./dyns.Shape.ts"; import * as Shown from "./dyns.Shown.ts"; import * as Square from "./dyns.Square.ts"; @@ -527,11 +530,11 @@ export function anys(dataData: Uint8Array, dataStart: number, dataLen: number, o const part6 = hold.strong; const args28: rt.Fmt[] = [(f: rt.Formatter) => rt.usizeDisplay(part6, f)]; fmt_put(out, rt.fmtFormat([args28[0], " "])); - const _381: rt.Result, rt.Arc> = rt.arcDowncast(hold, Any.of$u8); + const _381: rt.Result, rt.Arc> = rt.arcDowncast(hold, Any.of$u8, (object) => object.v); if (_381.ok) { rt.panic("internal error: entered unreachable code"); } else { - const part7 = ok$0lceojf(result_map$0zzqmaz(rt.arcDowncast(_381.error, Any.of$tuple2_u8_u8), (t: rt.Arc<[rt.u8, rt.u8]>): [rt.usize, rt.u8] => { + const part7 = ok$0lceojf(result_map$0zzqmaz(rt.arcDowncast(_381.error, Any.of$tuple2_u8_u8, (object) => object.v), (t: rt.Arc<[rt.u8, rt.u8]>): [rt.usize, rt.u8] => { const _02: [rt.usize, rt.u8] = [t.strong, t.value[0]]; t[Symbol.dispose](); return _02; @@ -666,4 +669,249 @@ export function fns(data: rt.ByteSlice, out: rt.ByteVec): void { } } +/** + * Trait objects behind the rest of the pointers std coerces to one: an `Rc`, a `Weak` of + * an `Rc` or an `Arc`, a `Pin`, and an `Rc` or an `Arc` made from a box of one. Counts, + * upgrades, `downcast`, and what drops when. + */ +export function pointers(dataData: Uint8Array, dataStart: number, dataLen: number, out: rt.ByteVec): void { + let f!: rt.Arc<(a0: rt.u8) => rt.u8>; + let _540: boolean = false; + if (dataLen >= 2) { + const log: rt.Arc> = new rt.Arc(new rt.RefCell(new rt.ByteVec())); + const sq: rt.Arc = new rt.Arc({ side: dataData[dataStart] as rt.u16 }); + const weak2: rt.Weak = rt.weakDyn(new rt.Weak(sq), (arc: rt.Arc): rt.Arc => { + return new rt.ArcDyn(arc, new dyns_Shape.of$dyns_Square(arc.value)); + }); + const _19: rt.Arc = rt.arcClone(sq); + const named: rt.Arc = new rt.ArcDyn(_19, new dyns_Named.of$dyns_Square(_19.value)); + const shape: rt.Arc = rt.arcClone(named); + const other: rt.Weak = new rt.Weak(shape); + const _34: string = named.value.label$Named(); + const _38: rt.u32 = shape.value.area$Shape(); + const _42: rt.usize = sq.strong; + const _45: rt.usize = weak2.arc.strong; + const _48: rt.usize = rt.weakWeakCount(weak2); + const _51: boolean = rt.arcPtrEq(weak2.arc, other.arc); + const args2: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtPad(f, _34), (f: rt.Formatter) => rt.u32Display(_38, f), (f: rt.Formatter) => rt.usizeDisplay(_42, f), (f: rt.Formatter) => rt.usizeDisplay(_45, f), (f: rt.Formatter) => rt.usizeDisplay(_48, f), (f: rt.Formatter) => rt.fmtBool(_51, f)]; + fmt_put(out, rt.fmtFormat([args2[0], " ", args2[1], " ", args2[2], " ", args2[3], " ", args2[4], " ", args2[5], " "])); + const again: rt.Weak = rt.weakClone(weak2); + sq[Symbol.dispose](); + named[Symbol.dispose](); + const _75: rt.u32 | undefined = option_map$1i542n2(rt.weakUpgrade(again), (s: rt.Arc): rt.u32 => { + const _0: rt.u32 = s.value.area$Shape(); + s[Symbol.dispose](); + return _0; + }); + const _79: rt.usize = shape.strong; + const args4: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtOption(_75, f, rt.u32Debug), (f: rt.Formatter) => rt.usizeDisplay(_79, f)]; + fmt_put(out, rt.fmtFormat([args4[0], " ", args4[1], " "])); + shape[Symbol.dispose](); + const _97: rt.Arc | undefined = rt.weakUpgrade(weak2); + const _95: boolean = _97 === undefined; + const _102: rt.Arc | undefined = rt.weakUpgrade(again); + const _100: boolean = _102 === undefined; + const _105: rt.usize = weak2.arc.strong; + const args6: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtBool(_95, f), (f: rt.Formatter) => rt.fmtBool(_100, f), (f: rt.Formatter) => rt.usizeDisplay(_105, f)]; + const _91: string = rt.fmtFormat([args6[0], " ", args6[1], " ", args6[2], " "]); + rt.drop(_102); + rt.drop(_97); + fmt_put(out, _91); + const noisy: rt.Arc = new rt.Arc(new dyns_Noisy.Noisy(dataData[dataStart + 1], rt.arcClone(log))); + const weak4: rt.Weak = rt.weakDyn(new rt.Weak(noisy), (arc2: rt.Arc): rt.Arc => { + return new rt.ArcDyn(arc2, new dyns_Shape.of$dyns_Noisy(arc2.value)); + }); + const part = option_map$1i542n2(rt.weakUpgrade(weak4), (s2: rt.Arc): rt.u32 => { + const _02: rt.u32 = s2.value.area$Shape(); + s2[Symbol.dispose](); + return _02; + }); + const args8: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtOption(part, f, rt.u32Debug)]; + fmt_put(out, rt.fmtFormat([args8[0], " "])); + noisy[Symbol.dispose](); + const _147: rt.Arc | undefined = rt.weakUpgrade(weak4); + const _145: boolean = _147 === undefined; + const _150: rt.RefCell = rt.refCellBorrow(log.value); + const args10: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtBool(_145, f), (f: rt.Formatter) => rt.fmtList(rt.byteVecView(_150.value), f, rt.u8Debug)]; + const _141: string = rt.fmtFormat([args10[0], " ", args10[1], " "]); + rt.refRelease(_150); + rt.drop(_147); + fmt_put(out, _141); + const looped: rt.Arc = rt.arcNewCyclic((me: rt.Weak): Looped.Looped => { + return new Looped.Looped(dataData[dataStart], rt.weakDyn(rt.weakClone(me), (arc3: rt.Arc): rt.Arc => { + return new rt.ArcDyn(arc3, new dyns_Shape.of$dyns_Looped(arc3.value)); + })); + }); + const _168: rt.u32 | undefined = option_map$1i542n2(rt.weakUpgrade(looped.value.me), (s3: rt.Arc): rt.u32 => { + const _04: rt.u32 = s3.value.area$Shape(); + s3[Symbol.dispose](); + return _04; + }); + const _174: rt.usize = looped.strong; + const _177: rt.usize = looped.weak; + const args12: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtOption(_168, f, rt.u32Debug), (f: rt.Formatter) => rt.usizeDisplay(_174, f), (f: rt.Formatter) => rt.usizeDisplay(_177, f)]; + fmt_put(out, rt.fmtFormat([args12[0], " ", args12[1], " ", args12[2], " "])); + const pinned: dyns_Shape.Shape = new dyns_Shape.of$dyns_Noisy(new dyns_Noisy.Noisy(rt.u8WrappingAdd(dataData[dataStart], 1), rt.arcClone(log))); + let n: rt.u32 = dataData[dataStart + 1] as rt.u32; + const borrowed2: dyns_Shape.Shape = new dyns_Shape.ofPlace$u32(rt.place(() => n, (value) => n = value)); + const _205: rt.u32 = pinned.area$Shape(); + const _209: rt.u8 = pinned.sides$Shape(); + const _213: rt.u32 = borrowed2.area$Shape(); + const args14: rt.Fmt[] = [(f: rt.Formatter) => rt.u32Display(_205, f), (f: rt.Formatter) => rt.u8Display(_209, f), (f: rt.Formatter) => rt.u32Display(_213, f)]; + fmt_put(out, rt.fmtFormat([args14[0], " ", args14[1], " ", args14[2], " "])); + rt.drop(pinned); + const _230: rt.RefCell = rt.refCellBorrow(log.value); + const args16: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtList(rt.byteVecView(_230.value), f, rt.u8Debug)]; + const _226: string = rt.fmtFormat([args16[0], " "]); + rt.refRelease(_230); + fmt_put(out, _226); + const boxes: dyns_Shape.Shape[] = rt.iterToArray(rt.iterMap(rt.iterSlice(rt.byteSliceView(new rt.ByteSlice(dataData, dataStart + 2, dataLen - 2))), (_2: rt.u8): dyns_Shape.Shape => { + const x: rt.u8 = _2; + const _43: rt.u8 = rt.u8Rem(x, 3); + if (_43 === 0) { + return new dyns_Shape.of$dyns_Noisy(new dyns_Noisy.Noisy(x, rt.arcClone(log))); + } + if (_43 === 1) { + return new dyns_Shape.of$u32(x as rt.u32); + } + return new dyns_Shape.of$dyns_Tri({ tag: "Tall", _0: x } as Tri.Tri); + }), undefined, 8, true); + const rcs: rt.Arc[] = []; + const arcs: rt.Arc[] = []; + const iter: rt.Iter<[rt.usize, dyns_Shape.Shape]> = rt.iterEnumerate(rt.iterSlice(boxes, rt.drop)); + while (true) { + const _249: [rt.usize, dyns_Shape.Shape] | rt.Done = iter.next(); + if (_249 === rt.DONE) { + break; + } + const i: rt.usize = _249[0]; + const boxed: dyns_Shape.Shape = _249[1]; + if (rt.usizeRem(i, 2) === 0) { + const _257: rt.Arc = new rt.Arc(boxed); + rcs.push(_257); + } else { + const _259: rt.Arc = new rt.Arc(boxed); + arcs.push(_259); + } + } + rt.drop(iter); + const kept: rt.Arc[] = rt.iterToArray(rt.iterMap(rt.iterStepBy(rt.iterSlice(rcs), 2), (a0: rt.Arc): rt.Arc => { + return rt.arcClone(a0); + }), undefined, 8, true); + const part2 = rt.iterToArray(rt.iterChain(rt.iterMap(rt.iterSlice(rcs), (s4: rt.Arc): rt.u32 => { + return s4.value.area$Shape(); + }), rt.iterMap(rt.iterSlice(arcs), (s5: rt.Arc): rt.u32 => { + return s5.value.area$Shape(); + })), undefined, 4, true); + const args18: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtList(part2, f, rt.u32Debug)]; + fmt_put(out, rt.fmtFormat([args18[0], " "])); + const _291: rt.RefCell = rt.refCellBorrowMut(log.value); + rt.byteVecClear(_291.value); + rt.refMutRelease(_291); + rt.dropAll(arcs); + const _304: rt.RefCell = rt.refCellBorrow(log.value); + const args20: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtList(rt.byteVecView(_304.value), f, rt.u8Debug)]; + const _300: string = rt.fmtFormat([args20[0], " "]); + rt.refRelease(_304); + fmt_put(out, _300); + rt.dropAll(rcs); + const _321: rt.RefCell = rt.refCellBorrow(log.value); + const args22: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtList(rt.byteVecView(_321.value), f, rt.u8Debug)]; + const _317: string = rt.fmtFormat([args22[0], " "]); + rt.refRelease(_321); + fmt_put(out, _317); + rt.dropAll(kept); + const _337: rt.RefCell = rt.refCellBorrow(log.value); + const args24: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtList(rt.byteVecView(_337.value), f, rt.u8Debug)]; + const _333: string = rt.fmtFormat([args24[0], " "]); + rt.refRelease(_337); + fmt_put(out, _333); + const _345: rt.Arc = new rt.Arc({ side: dataData[dataStart + 1] as rt.u16 }); + const any: rt.Arc = new rt.ArcDyn(_345, new Any.of$dyns_Square(_345.value)); + const _351: rt.Result, rt.Arc> = rt.arcDowncast(rt.arcClone(any), Any.of$dyns_Tri, (object) => object.v); + const wrong: boolean = !_351.ok; + drop$Result_Rc_dyns_Tri_Rc_dyn_Any(_351); + const _355: rt.Result, rt.Arc> = rt.arcDowncast(any, Any.of$dyns_Square, (object) => object.v); + if (_355.ok) { + const sq2: rt.Arc = _355.value; + const _365: Square.Square = sq2.value; + const _368: rt.usize = sq2.strong; + const _372: rt.Fmt = (f: rt.Formatter) => rt.fmtBool(wrong, f); + const arg = _365.side; + const args26: rt.Fmt[] = [_372, (f: rt.Formatter) => rt.u16Display(arg, f), (f: rt.Formatter) => rt.usizeDisplay(_368, f)]; + fmt_put(out, rt.fmtFormat([args26[0], " ", args26[1], " ", args26[2], " "])); + sq2[Symbol.dispose](); + } else { + fmt_put(out, "none "); + } + if (!_355.ok) { + drop$Result_Rc_dyns_Square_Rc_dyn_Any(_355); + } + const any2: rt.Arc = new rt.Arc(new Any.of$dyns_Noisy(new dyns_Noisy.Noisy(rt.u8WrappingAdd(dataData[dataStart + 1], 1), rt.arcClone(log)))); + const held: rt.Arc = rt.arcClone(any2); + _540 = true; + const _391: rt.RefCell = rt.refCellBorrowMut(log.value); + rt.byteVecClear(_391.value); + rt.refMutRelease(_391); + const _395: rt.Result, rt.Arc> = rt.arcDowncast(any2, Any.of$dyns_Noisy, (object) => object.v); + if (_395.ok) { + const n2: rt.Arc = _395.value; + const _406: dyns_Noisy.Noisy = n2.value; + const _409: rt.usize = n2.strong; + const arg2 = _406._0; + const args28: rt.Fmt[] = [(f: rt.Formatter) => rt.u8Display(arg2, f), (f: rt.Formatter) => rt.usizeDisplay(_409, f)]; + fmt_put(out, rt.fmtFormat([args28[0], " ", args28[1], " "])); + _540 = false; + held[Symbol.dispose](); + const _426: rt.usize = n2.strong; + const _429: rt.RefCell = rt.refCellBorrow(log.value); + const args30: rt.Fmt[] = [(f: rt.Formatter) => rt.usizeDisplay(_426, f), (f: rt.Formatter) => rt.fmtList(rt.byteVecView(_429.value), f, rt.u8Debug)]; + const _422: string = rt.fmtFormat([args30[0], " ", args30[1], " "]); + rt.refRelease(_429); + fmt_put(out, _422); + n2[Symbol.dispose](); + } else { + fmt_put(out, "none "); + } + if (!_395.ok) { + drop$Result_Rc_dyns_Noisy_Rc_dyn_Any(_395); + } + const _446: rt.RefCell = rt.refCellBorrow(log.value); + const args32: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtList(rt.byteVecView(_446.value), f, rt.u8Debug)]; + const _442: string = rt.fmtFormat([args32[0], " "]); + rt.refRelease(_446); + fmt_put(out, _442); + const part3 = option_map$0j05j69(ok$00p9ap8(rt.arcDowncast(new rt.Arc(new Any.of$u32(dataData[dataStart] as rt.u32)), Any.of$u32, (object) => object.v)), (n3: rt.Arc): rt.u32 => { + const _08: rt.u32 = n3.value; + n3[Symbol.dispose](); + return _08; + }); + const args34: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtOption(part3, f, rt.u32Debug)]; + fmt_put(out, rt.fmtFormat([args34[0], " "])); + const _474: rt.Arc<(a0: rt.u8) => rt.u8> = new rt.Arc((x2: rt.u8): rt.u8 => { + return rt.u8WrappingAdd(x2, dataData[dataStart]); + }); + f = new rt.ArcDyn(_474, _474.value); + const g: rt.Arc<(a0: rt.u8) => rt.u8> = new rt.Arc((x3: rt.u8): rt.u8 => { + return x3 ^ dataData[dataStart + 1]; + }); + const _488: rt.u8 = f.value(dataData[dataStart + 1]); + const _494: rt.u8 = g.value(dataData[dataStart]); + const args36: rt.Fmt[] = [(f: rt.Formatter) => rt.u8Display(_488, f), (f: rt.Formatter) => rt.u8Display(_494, f)]; + fmt_put(out, rt.fmtFormat([args36[0], " ", args36[1]])); + g[Symbol.dispose](); + f[Symbol.dispose](); + if (_540) { + held[Symbol.dispose](); + } + _540 = false; + looped[Symbol.dispose](); + weak4[Symbol.dispose](); + again[Symbol.dispose](); + other[Symbol.dispose](); + weak2[Symbol.dispose](); + log[Symbol.dispose](); + } +} + //# sourceMappingURL=dyns.ts.map diff --git a/ts/fixtures/lang/expected/harness.ts b/ts/fixtures/lang/expected/harness.ts index c41a03df1..ed9c1215a 100644 --- a/ts/fixtures/lang/expected/harness.ts +++ b/ts/fixtures/lang/expected/harness.ts @@ -22,7 +22,7 @@ import { cows, slices as cows_slices, bytes as cows_bytes } from "./cows.ts"; import { cycles } from "./cycles.ts"; import { defaults as defaults_defaults } from "./defaults.ts"; import { durations } from "./durations.ts"; -import { dyns, shared as dyns_shared, anys, fns } from "./dyns.ts"; +import { dyns, shared as dyns_shared, anys, fns, pointers } from "./dyns.ts"; import { edits as edits_edits, bytes as edits_bytes } from "./edits.ts"; import { eqs } from "./errors.ts"; import { fields as fields_fields } from "./fields.ts"; @@ -284,6 +284,8 @@ export function cases(): [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) hashes_own(data99, out100); }] as [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined], ["refs::compared", (a0159: rt.u8, a1159: rt.ByteSlice, a2159: rt.ByteVec): undefined => { compared(a0159, a1159.data, a1159.start, a1159.length, a2159); + }] as [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined], ["dyns::pointers", (_2200: rt.u8, data100: rt.ByteSlice, out101: rt.ByteVec): undefined => { + pointers(data100.data, data100.start, data100.length, out101); }] as [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined]]; } diff --git a/ts/fixtures/lang/expected/lib.ts b/ts/fixtures/lang/expected/lib.ts index 27db459a9..bfaea14a7 100644 --- a/ts/fixtures/lang/expected/lib.ts +++ b/ts/fixtures/lang/expected/lib.ts @@ -16,6 +16,9 @@ import type * as counts_Noisy from "./counts.Noisy.ts"; import type * as RcReleasing from "./counts.RcReleasing.ts"; import type * as RcShared from "./counts.RcShared.ts"; import type * as durations_Window from "./durations.Window.ts"; +import type * as dyns_Noisy from "./dyns.Noisy.ts"; +import type * as Square from "./dyns.Square.ts"; +import type * as Tri from "./dyns.Tri.ts"; import type * as Couple from "./fields.Couple.ts"; import type * as Either from "./generics.Either.ts"; import * as Fixed from "./generics.Fixed.ts"; @@ -885,6 +888,30 @@ export function drop$Option_cell_Ref_borrows_Tagged(_1: rt.RefCell, rt.Arc>): void { + if (_1.ok) { + _1.value[Symbol.dispose](); + } else { + _1.error[Symbol.dispose](); + } +} + +export function drop$Result_Rc_dyns_Square_Rc_dyn_Any(_1: rt.Result, rt.Arc>): void { + if (_1.ok) { + _1.value[Symbol.dispose](); + } else { + _1.error[Symbol.dispose](); + } +} + +export function drop$Result_Rc_dyns_Tri_Rc_dyn_Any(_1: rt.Result, rt.Arc>): void { + if (_1.ok) { + _1.value[Symbol.dispose](); + } else { + _1.error[Symbol.dispose](); + } +} + export function drop$Result_Result_sync_MappedMutexGuard_u64_sync_MappedMutexGuard_u64_sync_MutexGuard_locks_Tally(_1: rt.Result, rt.Mutex>, rt.Mutex>): void { if (_1.ok) { drop$Result_sync_MappedMutexGuard_u64_sync_MappedMutexGuard_u64(_1.value); @@ -1015,6 +1042,14 @@ export function drop$Result_results_Logged_results_Logged(_1: rt.Result, rt.Arc>): void { + if (_1.ok) { + _1.value[Symbol.dispose](); + } else { + _1.error[Symbol.dispose](); + } +} + export function drop$Result_sync_MappedMutexGuard_u64_sync_MappedMutexGuard_u64(_1: rt.Result, rt.Mutex>): void { if (_1.ok) { rt.mutexUnlock(_1.value); diff --git a/ts/fixtures/lang/src/dyns.rs b/ts/fixtures/lang/src/dyns.rs index 7c710f946..bf7f2472d 100644 --- a/ts/fixtures/lang/src/dyns.rs +++ b/ts/fixtures/lang/src/dyns.rs @@ -4,10 +4,14 @@ //! them, `self: Box`, and an upcast to the supertrait. Behind an `Arc`, the object //! shares the count of the `Arc` it was made from. A `dyn Any` downcasts to the type it //! was made of, borrowed, boxed, or shared. A `dyn Fn*` of a closure, a function, or a -//! function pointer calls it, changing what it captured, borrowed, boxed, or shared. +//! function pointer calls it, changing what it captured, borrowed, boxed, or shared. An +//! `Rc`, a `Weak`, a `Pin`, and an `Rc` or an `Arc` made from a box hold one too. use std::any::Any; +use std::cell::RefCell; use std::fmt::{self, Debug}; +use std::pin::Pin; +use std::rc::{self, Rc}; use std::sync::atomic::{AtomicU32, Ordering}; use std::sync::{Arc, Weak}; @@ -526,3 +530,182 @@ pub fn fns(data: &[u8], out: &mut Vec) { &format!("{} {} {}", shared(a), other(b), Arc::strong_count(&other)), ); } + +/// A shape that notes its id in a log as it drops. +struct Noisy(u8, Rc>>); + +impl Shape for Noisy { + fn area(&self) -> u32 { + u32::from(self.0) + } + fn grow(&mut self, by: u8) { + self.0 = self.0.wrapping_add(by); + } +} + +impl Drop for Noisy { + fn drop(&mut self) { + self.1.borrow_mut().push(self.0); + } +} + +/// A shape holding a `Weak` of itself as a trait object, made inside `Rc::new_cyclic`. +struct Looped { + side: u8, + me: rc::Weak, +} + +impl Shape for Looped { + fn area(&self) -> u32 { + u32::from(self.side) + 1 + } + fn grow(&mut self, by: u8) { + self.side = self.side.wrapping_add(by); + } +} + +/// Trait objects behind the rest of the pointers std coerces to one: an `Rc`, a `Weak` of +/// an `Rc` or an `Arc`, a `Pin`, and an `Rc` or an `Arc` made from a box of one. Counts, +/// upgrades, `downcast`, and what drops when. +pub fn pointers(data: &[u8], out: &mut Vec) { + let [a, b, rest @ ..] = data else { + return; + }; + let log = Rc::new(RefCell::new(Vec::new())); + + // An `Rc` of each, an upcast, and a `Weak` unsized from one of the value's own type. + let sq = Rc::new(Square { side: u16::from(*a) }); + let weak: rc::Weak = Rc::downgrade(&sq); + let weak: rc::Weak = weak; + let named: Rc = sq.clone(); + let shape: Rc = named.clone(); + let other = Rc::downgrade(&shape); + put( + out, + &format!( + "{} {} {} {} {} {} ", + named.label(), + shape.area(), + Rc::strong_count(&sq), + rc::Weak::strong_count(&weak), + rc::Weak::weak_count(&weak), + rc::Weak::ptr_eq(&weak, &other), + ), + ); + let again = weak.clone(); + drop(sq); + drop(named); + put( + out, + &format!("{:?} {} ", again.upgrade().map(|s| s.area()), Rc::strong_count(&shape)), + ); + drop(shape); + put( + out, + &format!( + "{} {} {} ", + weak.upgrade().is_none(), + again.upgrade().is_none(), + rc::Weak::strong_count(&weak) + ), + ); + + // Of an `Arc`, whose value drops with the last strong one while a `Weak` stays. + let noisy = Arc::new(Noisy(*b, log.clone())); + let weak: Weak = Arc::downgrade(&noisy); + let weak: Weak = weak; + put(out, &format!("{:?} ", weak.upgrade().map(|s| s.area()))); + drop(noisy); + put(out, &format!("{:?} {:?} ", weak.upgrade().is_none(), log.borrow())); + + // One coerced inside `new_cyclic`, before the value it points at is there. + let looped = Rc::new_cyclic(|me: &rc::Weak| Looped { + side: *a, + me: me.clone(), + }); + put( + out, + &format!( + "{:?} {} {} ", + looped.me.upgrade().map(|s| s.area()), + Rc::strong_count(&looped), + Rc::weak_count(&looped), + ), + ); + + // Pinned: through a box, which drops what it holds, and through a `&mut`. + { + let pinned: Pin> = Box::pin(Noisy(a.wrapping_add(1), log.clone())); + let mut n = u32::from(*b); + let borrowed: Pin<&mut u32> = Pin::new(&mut n); + let borrowed: Pin<&mut dyn Shape> = borrowed; + put( + out, + &format!("{} {} {} ", pinned.area(), pinned.sides(), borrowed.area()), + ); + } + put(out, &format!("{:?} ", log.borrow())); + + // From a box of one: an `Rc` or an `Arc` that drops it with the last clone. + let boxes: Vec> = rest + .iter() + .map(|&x| match x % 3 { + 0 => Box::new(Noisy(x, log.clone())) as Box, + 1 => Box::new(u32::from(x)), + _ => Box::new(Tri::Tall(x)), + }) + .collect(); + let mut rcs: Vec> = Vec::new(); + let mut arcs: Vec> = Vec::new(); + for (i, boxed) in boxes.into_iter().enumerate() { + match i % 2 { + 0 => rcs.push(Rc::from(boxed)), + _ => arcs.push(boxed.into()), + } + } + let kept: Vec> = rcs.iter().step_by(2).cloned().collect(); + let areas: Vec = rcs + .iter() + .map(|s| s.area()) + .chain(arcs.iter().map(|s| s.area())) + .collect(); + put(out, &format!("{areas:?} ")); + log.borrow_mut().clear(); + drop(arcs); + put(out, &format!("{:?} ", log.borrow())); + drop(rcs); + put(out, &format!("{:?} ", log.borrow())); + drop(kept); + put(out, &format!("{:?} ", log.borrow())); + + // `Rc::downcast`, of one made from the value's own `Rc`, and of one made from a box, + // which shares its count with what it gives back. + let any: Rc = Rc::new(Square { side: u16::from(*b) }); + let wrong = any.clone().downcast::().is_err(); + match any.downcast::() { + Ok(sq) => put(out, &format!("{wrong} {} {} ", sq.side, Rc::strong_count(&sq))), + Err(_) => put(out, "none "), + } + let boxed: Box = Box::new(Noisy(b.wrapping_add(1), log.clone())); + let any: Rc = Rc::from(boxed); + let held = any.clone(); + log.borrow_mut().clear(); + match any.downcast::() { + Ok(n) => { + put(out, &format!("{} {} ", n.0, Rc::strong_count(&n))); + drop(held); + put(out, &format!("{} {:?} ", Rc::strong_count(&n), log.borrow())); + } + Err(_) => put(out, "none "), + } + put(out, &format!("{:?} ", log.borrow())); + let boxed: Box = Box::new(u32::from(*a)); + let shared: Arc = boxed.into(); + put(out, &format!("{:?} ", shared.downcast::().ok().map(|n| *n))); + + // Functions, shared by an `Rc` and from a box. + let f: Rc u8> = Rc::new(move |x| x.wrapping_add(*a)); + let boxed: Box u8> = Box::new(move |x| x ^ *b); + let g: Arc u8> = Arc::from(boxed); + put(out, &format!("{} {}", f(*b), g(*a))); +} diff --git a/ts/fixtures/lang/src/harness.rs b/ts/fixtures/lang/src/harness.rs index ada2a70f3..130774aae 100644 --- a/ts/fixtures/lang/src/harness.rs +++ b/ts/fixtures/lang/src/harness.rs @@ -290,6 +290,7 @@ fn cases() -> Vec<(&'static str, Case)> { ("borrows::leaks", |_, data, out| borrows::leaks(data, out)), ("hashes::own", |_, data, out| hashes::own(data, out)), ("refs::compared", refs::compared), + ("dyns::pointers", |_, data, out| dyns::pointers(data, out)), ] } diff --git a/ts/fixtures/reject/census.md b/ts/fixtures/reject/census.md index 1c497ea8a..b72181474 100644 --- a/ts/fixtures/reject/census.md +++ b/ts/fixtures/reject/census.md @@ -1,86 +1,86 @@ # Census of `reject-fixture` -- Refusals: 230 -- Function instances: 290 +- Refusals: 229 +- Function instances: 288 - Generic functions no instance reached, lowered over their type parameters: 13 ## By construct | Count | Construct | First | | ---: | --- | --- | -| 49 | a raw pointer to `_` in `_`, which the crate may put another object in place of | fixtures/reject/src/lib.rs:593:10 | +| 49 | a raw pointer to `_` in `_`, which the crate may put another object in place of | fixtures/reject/src/lib.rs:586:10 | | 25 | unsupported call to `_` | fixtures/reject/src/lib.rs:160:8 | -| 22 | a raw pointer to `_` in a variable assigned again while it may point there | fixtures/reject/src/lib.rs:601:10 | -| 15 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | fixtures/reject/src/lib.rs:1322:33 | -| 15 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | fixtures/reject/src/lib.rs:1640:18 | -| 5 | `_` with a mutable reference to a value JS copies, which its mapping would copy | fixtures/reject/src/lib.rs:1220:22 | -| 5 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | fixtures/reject/src/lib.rs:664:10 | +| 22 | a raw pointer to `_` in a variable assigned again while it may point there | fixtures/reject/src/lib.rs:594:10 | +| 15 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | fixtures/reject/src/lib.rs:1315:33 | +| 15 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | fixtures/reject/src/lib.rs:1633:18 | +| 5 | `_` with a mutable reference to a value JS copies, which its mapping would copy | fixtures/reject/src/lib.rs:1213:22 | +| 5 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | fixtures/reject/src/lib.rs:657:10 | | 4 | a variant of `_`, which is not supported: either is the same JS string | fixtures/reject/src/lib.rs:316:2 | | 4 | an assignment through a reference to `_` | fixtures/reject/src/lib.rs:83:2 | | 3 | `_` of `_`, whose `clone_from` is its own, which is not supported yet | fixtures/reject/src/lib.rs:21:4 | | 3 | a copy of a closure that changes what it captured | fixtures/reject/src/lib.rs:224:14 | -| 3 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | fixtures/reject/src/lib.rs:2149:2 | +| 3 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | fixtures/reject/src/lib.rs:2142:2 | | 3 | replacing the value behind a reference to `_` | fixtures/reject/src/lib.rs:91:2 | | 3 | unsupported type `_` | fixtures/reject/src/lib.rs:7:14 | | 2 | `_` is not supported: its `None` and `Some` would both be `rt.None` | fixtures/reject/src/lib.rs:16:15 | | 2 | `_` of `_`, whose `None` is `rt.None`, which is not supported yet | fixtures/reject/src/lib.rs:37:4 | | 2 | `_`, a trait object of another crate's trait, which is not supported yet | fixtures/reject/src/lib.rs:11:16 | -| 2 | `_`, a trait object of the generic trait `_`, which is not supported yet | fixtures/reject/src/lib.rs:449:23 | -| 2 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | fixtures/reject/src/lib.rs:540:27 | -| 2 | a coercion to `_`, which is not supported yet | fixtures/reject/src/lib.rs:440:40 | -| 2 | a raw pointer to a place of `()`, which has no address of its own | fixtures/reject/src/lib.rs:713:15 | +| 2 | `_`, a trait object of the generic trait `_`, which is not supported yet | fixtures/reject/src/lib.rs:442:23 | +| 2 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | fixtures/reject/src/lib.rs:533:27 | +| 2 | a raw pointer to a place of `()`, which has no address of its own | fixtures/reject/src/lib.rs:706:15 | | 2 | an iterator of the crate implementing `_`, which is not supported yet | fixtures/reject/src/lib.rs:145:1 | -| 2 | comparing pointers to `_`, each a place JS makes of its own | fixtures/reject/src/lib.rs:581:2 | +| 2 | comparing pointers to `_`, each a place JS makes of its own | fixtures/reject/src/lib.rs:574:2 | | 2 | overriding `_`, which std's adaptors call in place of `next` or beside it | fixtures/reject/src/lib.rs:125:2 | | 2 | passing `_`, which drops, to `_`, which is not supported yet | fixtures/reject/src/lib.rs:311:4 | | 2 | unsupported type `_` from another crate | fixtures/reject/src/lib.rs:423:32 | -| 1 | `Buf::copy_to_bytes` of `_`, a value JS copies, which is not supported | fixtures/reject/src/lib.rs:746:2 | +| 1 | `Buf::copy_to_bytes` of `_`, a value JS copies, which is not supported | fixtures/reject/src/lib.rs:739:2 | | 1 | `BufMut::put` of `_` into a `BytesMut`, which advances it by the room left in a capacity that depends on whether the other handles of its storage dropped, which is not supported | fixtures/reject/src/lib.rs:379:2 | | 1 | `BufMut::put` of `_` into a `BytesMut`, which picks the methods it calls by a capacity that depends on whether the other handles of its storage dropped, which is not supported | fixtures/reject/src/lib.rs:374:2 | | 1 | `Bytes::from_owner` of `_`, which would drop with the last clone of what it makes, which is not supported | fixtures/reject/src/lib.rs:359:2 | -| 1 | `Extend` of `_` by `_`, whose `_` of `_` is not supported yet | fixtures/reject/src/lib.rs:1257:31 | +| 1 | `Extend` of `_` by `_`, whose `_` of `_` is not supported yet | fixtures/reject/src/lib.rs:1250:31 | | 1 | `Pointer` formatting, as in `{:p}`, is not supported | fixtures/reject/src/lib.rs:49:2 | | 1 | `_` is not supported: its `Pending` and `Ready` would both be `rt.OuterPending` | fixtures/reject/src/lib.rs:72:20 | | 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `None` would be `rt.None` as `_` | fixtures/reject/src/lib.rs:31:2 | -| 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `Pending` would be `rt.OuterPending` as `_` | fixtures/reject/src/lib.rs:487:2 | +| 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `Pending` would be `rt.OuterPending` as `_` | fixtures/reject/src/lib.rs:480:2 | | 1 | `_` of `_` by `_`, which is not supported yet | fixtures/reject/src/lib.rs:253:6 | -| 1 | `_` of `_`, which is not supported yet | fixtures/reject/src/lib.rs:523:4 | +| 1 | `_` of `_`, which is not supported yet | fixtures/reject/src/lib.rs:516:4 | | 1 | `_`, which reads a capacity that depends on whether the other handles of its storage dropped, which is not supported | fixtures/reject/src/lib.rs:368:6 | -| 1 | `clone_from` of `_`, whose items' `clone_from` is their own, which is not supported yet | fixtures/reject/src/lib.rs:2103:4 | -| 1 | `collect` of `_`, which sorts by `_`'s own `Ord`, of entries that drop, which is not supported yet | fixtures/reject/src/lib.rs:940:22 | +| 1 | `clone_from` of `_`, whose items' `clone_from` is their own, which is not supported yet | fixtures/reject/src/lib.rs:2096:4 | +| 1 | `collect` of `_`, which sorts by `_`'s own `Ord`, of entries that drop, which is not supported yet | fixtures/reject/src/lib.rs:933:22 | | 1 | `fmt::Arguments` with a placeholder, or not made in place, written to `_`'s own `fmt::Write`, which is not supported yet: std splits what a placeholder writes into `write_str` calls the runtime does not make | fixtures/reject/src/lib.rs:55:10 | | 1 | a `collect` in place of `_`, a zip std reads by index, holding values that drop, which is not supported yet | fixtures/reject/src/lib.rs:209:40 | | 1 | a `skip` of `_`, a zip std reads by index, of items that drop, which is not supported yet | fixtures/reject/src/lib.rs:202:8 | | 1 | a cast from `_` to `_` | fixtures/reject/src/lib.rs:68:2 | -| 1 | a cast from `_` to `_`, which reads the bytes of one type as another | fixtures/reject/src/lib.rs:1698:33 | -| 1 | a coercion of `_` to `_`, a pointer to a slice | fixtures/reject/src/lib.rs:1699:28 | +| 1 | a cast from `_` to `_`, which reads the bytes of one type as another | fixtures/reject/src/lib.rs:1691:33 | +| 1 | a coercion of `_` to `_`, a pointer to a slice | fixtures/reject/src/lib.rs:1692:28 | | 1 | a coercion to `_` | fixtures/reject/src/lib.rs:276:2 | -| 1 | a constant of type `_`, a pointer into memory translation can't name | fixtures/reject/src/lib.rs:763:3 | -| 1 | a dangling pointer to `_`, a value of no bytes made of more than structs and tuples | fixtures/reject/src/lib.rs:722:11 | +| 1 | a coercion to `_`, which is not supported yet | fixtures/reject/src/lib.rs:469:30 | +| 1 | a constant of type `_`, a pointer into memory translation can't name | fixtures/reject/src/lib.rs:756:3 | +| 1 | a dangling pointer to `_`, a value of no bytes made of more than structs and tuples | fixtures/reject/src/lib.rs:715:11 | | 1 | a future of `_`, which can be `rt.Pending`, as the future's own `Pending` is | fixtures/reject/src/lib.rs:77:34 | -| 1 | a mapped guard of `_`, which JS can't write in place | fixtures/reject/src/lib.rs:2137:10 | +| 1 | a mapped guard of `_`, which JS can't write in place | fixtures/reject/src/lib.rs:2130:10 | | 1 | a mutable reference into a `Result`'s payload, passed on or kept | fixtures/reject/src/lib.rs:347:12 | | 1 | a mutable static, which any code may write | fixtures/reject/src/lib.rs:61:11 | -| 1 | a pointer's address, which JS has no counterpart of | fixtures/reject/src/lib.rs:545:17 | +| 1 | a pointer's address, which JS has no counterpart of | fixtures/reject/src/lib.rs:538:17 | | 1 | a printable type must implement `Display` or `Debug` | fixtures/reject/src/lib.rs:64:1 | -| 1 | a raw pointer to `_` behind a reference, which is the object and not where it is kept | fixtures/reject/src/lib.rs:562:10 | -| 1 | a reference through which a raw pointer may be made into `_` in an element, a payload, or a union field, which is not supported yet | fixtures/reject/src/lib.rs:1349:11 | +| 1 | a raw pointer to `_` behind a reference, which is the object and not where it is kept | fixtures/reject/src/lib.rs:555:10 | +| 1 | a reference through which a raw pointer may be made into `_` in an element, a payload, or a union field, which is not supported yet | fixtures/reject/src/lib.rs:1342:11 | | 1 | a scalar constant of type `_` | fixtures/reject/src/lib.rs:8:2 | -| 1 | a slice of one byte's place, which a byte slice can view only in an array of bytes | fixtures/reject/src/lib.rs:2143:2 | -| 1 | a trait object of `_`, which is not supported yet | fixtures/reject/src/lib.rs:466:26 | -| 1 | an upcast from `_` to `_`, which is not supported yet | fixtures/reject/src/lib.rs:517:32 | +| 1 | a slice of one byte's place, which a byte slice can view only in an array of bytes | fixtures/reject/src/lib.rs:2136:2 | +| 1 | a trait object of `_`, which is not supported yet | fixtures/reject/src/lib.rs:459:26 | +| 1 | an upcast from `_` to `_`, which is not supported yet | fixtures/reject/src/lib.rs:510:32 | | 1 | arithmetic on `_` | fixtures/reject/src/lib.rs:8:2 | -| 1 | comparing `_` | fixtures/reject/src/lib.rs:1697:41 | +| 1 | comparing `_` | fixtures/reject/src/lib.rs:1690:41 | | 1 | comparing `_` as a key, which is not supported yet | fixtures/reject/src/lib.rs:235:75 | -| 1 | comparing pointers to `_` in an atomic, which JS has no address of | fixtures/reject/src/lib.rs:762:15 | -| 1 | comparing pointers to `_`, which has no bytes and so no address of its own | fixtures/reject/src/lib.rs:713:70 | -| 1 | const generic types are not supported: `_` | fixtures/reject/src/lib.rs:2082:1 | +| 1 | comparing pointers to `_` in an atomic, which JS has no address of | fixtures/reject/src/lib.rs:755:15 | +| 1 | comparing pointers to `_`, which has no bytes and so no address of its own | fixtures/reject/src/lib.rs:706:70 | +| 1 | const generic types are not supported: `_` | fixtures/reject/src/lib.rs:2075:1 | | 1 | constructing `_` | fixtures/reject/src/lib.rs:334:53 | | 1 | hashing `_` as a key, which is not supported yet | fixtures/reject/src/lib.rs:235:75 | -| 1 | hashing `_` by its address, which JS has no counterpart of | fixtures/reject/src/lib.rs:1701:5 | +| 1 | hashing `_` by its address, which JS has no counterpart of | fixtures/reject/src/lib.rs:1694:5 | | 1 | hashing `_` through `_`'s own `Hash::hash_slice`, which is not supported yet | fixtures/reject/src/lib.rs:295:16 | | 1 | passing `_`, a closure that owns a value that drops, to `_`, which is not supported yet | fixtures/reject/src/lib.rs:304:13 | -| 1 | union `_`, whose fields overlap in `_` and `f64`, which JS keeps apart | fixtures/reject/src/lib.rs:567:1 | +| 1 | union `_`, whose fields overlap in `_` and `f64`, which JS keeps apart | fixtures/reject/src/lib.rs:560:1 | ## By API @@ -88,167 +88,166 @@ The type or module each refused type or path belongs to. | Count | API | First | | ---: | --- | --- | -| 39 | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:672:15 | -| 27 | `(u32, u32)` | fixtures/reject/src/lib.rs:593:10 | -| 6 | `[u8; 4]` | fixtures/reject/src/lib.rs:466:26 | +| 39 | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:665:15 | +| 27 | `(u32, u32)` | fixtures/reject/src/lib.rs:586:10 | +| 6 | `[u8; 4]` | fixtures/reject/src/lib.rs:459:26 | | 6 | `f16` | fixtures/reject/src/lib.rs:7:14 | | 6 | `std::borrow::Cow` | fixtures/reject/src/lib.rs:316:2 | -| 6 | `u32` | fixtures/reject/src/lib.rs:540:27 | -| 5 | `(u8, u8)` | fixtures/reject/src/lib.rs:1257:31 | -| 5 | `Gap` | fixtures/reject/src/lib.rs:893:10 | +| 6 | `u32` | fixtures/reject/src/lib.rs:533:27 | +| 5 | `(u8, u8)` | fixtures/reject/src/lib.rs:1250:31 | +| 5 | `Gap` | fixtures/reject/src/lib.rs:886:10 | | 5 | `Option` | fixtures/reject/src/lib.rs:16:15 | | 5 | `u8` | fixtures/reject/src/lib.rs:253:6 | | 4 | `Iterator` | fixtures/reject/src/lib.rs:37:4 | | 4 | `std::pin::Pin` | fixtures/reject/src/lib.rs:91:2 | | 4 | `std::str` | fixtures/reject/src/lib.rs:424:4 | | 4 | `{closure}` | fixtures/reject/src/lib.rs:304:13 | -| 3 | `*const [u8; 4]` | fixtures/reject/src/lib.rs:1698:33 | -| 3 | `Mid` | fixtures/reject/src/lib.rs:1340:34 | -| 3 | `Outer` | fixtures/reject/src/lib.rs:1340:34 | +| 3 | `*const [u8; 4]` | fixtures/reject/src/lib.rs:1691:33 | +| 3 | `Mid` | fixtures/reject/src/lib.rs:1333:34 | +| 3 | `Outer` | fixtures/reject/src/lib.rs:1333:34 | | 3 | `Reused` | fixtures/reject/src/lib.rs:21:4 | -| 3 | `std::ptr` | fixtures/reject/src/lib.rs:1695:3 | +| 3 | `std::ptr` | fixtures/reject/src/lib.rs:1688:3 | | 3 | `std::vec::Vec` | fixtures/reject/src/lib.rs:295:16 | -| 2 | `(u16, u16)` | fixtures/reject/src/lib.rs:1161:31 | +| 2 | `(u16, u16)` | fixtures/reject/src/lib.rs:1154:31 | | 2 | `Counted` | fixtures/reject/src/lib.rs:374:2 | -| 2 | `InArray` | fixtures/reject/src/lib.rs:1287:9 | -| 2 | `InPayload` | fixtures/reject/src/lib.rs:1299:9 | -| 2 | `InTuple` | fixtures/reject/src/lib.rs:1291:9 | -| 2 | `InWritten` | fixtures/reject/src/lib.rs:1311:9 | -| 2 | `Inside` | fixtures/reject/src/lib.rs:1830:20 | +| 2 | `InArray` | fixtures/reject/src/lib.rs:1280:9 | +| 2 | `InPayload` | fixtures/reject/src/lib.rs:1292:9 | +| 2 | `InTuple` | fixtures/reject/src/lib.rs:1284:9 | +| 2 | `InWritten` | fixtures/reject/src/lib.rs:1304:9 | +| 2 | `Inside` | fixtures/reject/src/lib.rs:1823:20 | | 2 | `Poll` | fixtures/reject/src/lib.rs:72:20 | -| 2 | `Scaled` | fixtures/reject/src/lib.rs:449:23 | -| 2 | `[u8; 2]` | fixtures/reject/src/lib.rs:1711:37 | -| 2 | `[u8; 3]` | fixtures/reject/src/lib.rs:1711:15 | -| 2 | `dyn Scaled` | fixtures/reject/src/lib.rs:449:23 | -| 2 | `dyn std::any::Any` | fixtures/reject/src/lib.rs:517:32 | +| 2 | `Scaled` | fixtures/reject/src/lib.rs:442:23 | +| 2 | `[u8; 2]` | fixtures/reject/src/lib.rs:1704:37 | +| 2 | `[u8; 3]` | fixtures/reject/src/lib.rs:1704:15 | +| 2 | `dyn Scaled` | fixtures/reject/src/lib.rs:442:23 | +| 2 | `dyn std::any::Any` | fixtures/reject/src/lib.rs:510:32 | | 2 | `dyn std::iter::Iterator` | fixtures/reject/src/lib.rs:11:16 | | 2 | `slice` | fixtures/reject/src/lib.rs:21:4 | -| 2 | `std::any::TypeId` | fixtures/reject/src/lib.rs:523:2 | +| 2 | `std::any::TypeId` | fixtures/reject/src/lib.rs:516:2 | | 2 | `std::collections::BTreeSet` | fixtures/reject/src/lib.rs:235:75 | -| 2 | `std::collections::LinkedList` | fixtures/reject/src/lib.rs:2102:4 | -| 2 | `std::mem::MaybeUninit` | fixtures/reject/src/lib.rs:907:19 | +| 2 | `std::collections::LinkedList` | fixtures/reject/src/lib.rs:2095:4 | +| 2 | `std::mem::MaybeUninit` | fixtures/reject/src/lib.rs:900:19 | | 2 | `std::ops::Range` | fixtures/reject/src/lib.rs:160:8 | | 2 | `std::option::Option` | fixtures/reject/src/lib.rs:354:2 | -| 2 | `std::ptr::const_ptr` | fixtures/reject/src/lib.rs:1698:73 | -| 2 | `std::std` | fixtures/reject/src/lib.rs:552:11 | +| 2 | `std::ptr::const_ptr` | fixtures/reject/src/lib.rs:1691:73 | +| 2 | `std::std` | fixtures/reject/src/lib.rs:545:11 | | 2 | `std::sync::Arc` | fixtures/reject/src/lib.rs:276:2 | | 2 | `std::sync::MutexGuard` | fixtures/reject/src/lib.rs:83:2 | | 2 | `std::vec::IntoIter` | fixtures/reject/src/lib.rs:419:17 | -| 1 | `(Dropped, (u8, u8))` | fixtures/reject/src/lib.rs:2248:2 | -| 1 | `([Cloned; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2232:2 | -| 1 | `([Greatest; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2266:13 | -| 1 | `([Touched; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2297:2 | -| 1 | `(std::vec::Vec, Tens)` | fixtures/reject/src/lib.rs:1257:31 | -| 1 | `(u16, ByKeyReplace)` | fixtures/reject/src/lib.rs:1606:55 | -| 1 | `(u16, ByKeySet)` | fixtures/reject/src/lib.rs:1598:51 | -| 1 | `(u16, ByKeyTake)` | fixtures/reject/src/lib.rs:1613:52 | -| 1 | `(u16, ByRefReplace)` | fixtures/reject/src/lib.rs:1582:32 | -| 1 | `(u16, ByRefTake)` | fixtures/reject/src/lib.rs:1590:32 | -| 1 | `(u16, InTuple)` | fixtures/reject/src/lib.rs:1331:33 | -| 1 | `*const [u8]` | fixtures/reject/src/lib.rs:1699:28 | -| 1 | `*const u8` | fixtures/reject/src/lib.rs:1698:33 | -| 1 | `*mut [u8; 4]` | fixtures/reject/src/lib.rs:1697:41 | -| 1 | `Aliased` | fixtures/reject/src/lib.rs:1105:29 | -| 1 | `Assigned` | fixtures/reject/src/lib.rs:1997:20 | +| 1 | `(Dropped, (u8, u8))` | fixtures/reject/src/lib.rs:2241:2 | +| 1 | `([Cloned; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2225:2 | +| 1 | `([Greatest; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2259:13 | +| 1 | `([Touched; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2290:2 | +| 1 | `(std::vec::Vec, Tens)` | fixtures/reject/src/lib.rs:1250:31 | +| 1 | `(u16, ByKeyReplace)` | fixtures/reject/src/lib.rs:1599:55 | +| 1 | `(u16, ByKeySet)` | fixtures/reject/src/lib.rs:1591:51 | +| 1 | `(u16, ByKeyTake)` | fixtures/reject/src/lib.rs:1606:52 | +| 1 | `(u16, ByRefReplace)` | fixtures/reject/src/lib.rs:1575:32 | +| 1 | `(u16, ByRefTake)` | fixtures/reject/src/lib.rs:1583:32 | +| 1 | `(u16, InTuple)` | fixtures/reject/src/lib.rs:1324:33 | +| 1 | `*const [u8]` | fixtures/reject/src/lib.rs:1692:28 | +| 1 | `*const u8` | fixtures/reject/src/lib.rs:1691:33 | +| 1 | `*mut [u8; 4]` | fixtures/reject/src/lib.rs:1690:41 | +| 1 | `Aliased` | fixtures/reject/src/lib.rs:1098:29 | +| 1 | `Assigned` | fixtures/reject/src/lib.rs:1990:20 | | 1 | `Batched` | fixtures/reject/src/lib.rs:295:16 | -| 1 | `Behind` | fixtures/reject/src/lib.rs:1736:22 | -| 1 | `Bits` | fixtures/reject/src/lib.rs:567:1 | -| 1 | `Blank` | fixtures/reject/src/lib.rs:746:2 | -| 1 | `Block` | fixtures/reject/src/lib.rs:2082:1 | -| 1 | `ByBox` | fixtures/reject/src/lib.rs:1489:35 | -| 1 | `ByClosure` | fixtures/reject/src/lib.rs:1504:35 | -| 1 | `ByExchanged` | fixtures/reject/src/lib.rs:1550:30 | -| 1 | `ByInstance` | fixtures/reject/src/lib.rs:1530:35 | -| 1 | `ByKeyReplace` | fixtures/reject/src/lib.rs:1606:55 | -| 1 | `ByKeySet` | fixtures/reject/src/lib.rs:1598:51 | -| 1 | `ByKeyTake` | fixtures/reject/src/lib.rs:1613:52 | -| 1 | `ByObject` | fixtures/reject/src/lib.rs:1517:35 | -| 1 | `ByRead` | fixtures/reject/src/lib.rs:1440:35 | -| 1 | `ByRefReplace` | fixtures/reject/src/lib.rs:1582:32 | -| 1 | `ByRefTake` | fixtures/reject/src/lib.rs:1590:32 | -| 1 | `ByReplace` | fixtures/reject/src/lib.rs:1478:35 | -| 1 | `BySwap` | fixtures/reject/src/lib.rs:1466:35 | -| 1 | `BySwapped` | fixtures/reject/src/lib.rs:1539:76 | -| 1 | `ByWrite` | fixtures/reject/src/lib.rs:1453:35 | +| 1 | `Behind` | fixtures/reject/src/lib.rs:1729:22 | +| 1 | `Bits` | fixtures/reject/src/lib.rs:560:1 | +| 1 | `Blank` | fixtures/reject/src/lib.rs:739:2 | +| 1 | `Block` | fixtures/reject/src/lib.rs:2075:1 | +| 1 | `ByBox` | fixtures/reject/src/lib.rs:1482:35 | +| 1 | `ByClosure` | fixtures/reject/src/lib.rs:1497:35 | +| 1 | `ByExchanged` | fixtures/reject/src/lib.rs:1543:30 | +| 1 | `ByInstance` | fixtures/reject/src/lib.rs:1523:35 | +| 1 | `ByKeyReplace` | fixtures/reject/src/lib.rs:1599:55 | +| 1 | `ByKeySet` | fixtures/reject/src/lib.rs:1591:51 | +| 1 | `ByKeyTake` | fixtures/reject/src/lib.rs:1606:52 | +| 1 | `ByObject` | fixtures/reject/src/lib.rs:1510:35 | +| 1 | `ByRead` | fixtures/reject/src/lib.rs:1433:35 | +| 1 | `ByRefReplace` | fixtures/reject/src/lib.rs:1575:32 | +| 1 | `ByRefTake` | fixtures/reject/src/lib.rs:1583:32 | +| 1 | `ByReplace` | fixtures/reject/src/lib.rs:1471:35 | +| 1 | `BySwap` | fixtures/reject/src/lib.rs:1459:35 | +| 1 | `BySwapped` | fixtures/reject/src/lib.rs:1532:76 | +| 1 | `ByWrite` | fixtures/reject/src/lib.rs:1446:35 | | 1 | `BytesMut` | fixtures/reject/src/lib.rs:368:6 | -| 1 | `Called` | fixtures/reject/src/lib.rs:1071:28 | -| 1 | `Chosen` | fixtures/reject/src/lib.rs:1891:17 | -| 1 | `Clone` | fixtures/reject/src/lib.rs:2154:4 | -| 1 | `Closed` | fixtures/reject/src/lib.rs:2063:15 | -| 1 | `Compared` | fixtures/reject/src/lib.rs:1858:22 | -| 1 | `Copied` | fixtures/reject/src/lib.rs:1161:31 | -| 1 | `Deep` | fixtures/reject/src/lib.rs:1772:18 | -| 1 | `Deeper` | fixtures/reject/src/lib.rs:2023:22 | +| 1 | `Called` | fixtures/reject/src/lib.rs:1064:28 | +| 1 | `Chosen` | fixtures/reject/src/lib.rs:1884:17 | +| 1 | `Clone` | fixtures/reject/src/lib.rs:2147:4 | +| 1 | `Closed` | fixtures/reject/src/lib.rs:2056:15 | +| 1 | `Compared` | fixtures/reject/src/lib.rs:1851:22 | +| 1 | `Copied` | fixtures/reject/src/lib.rs:1154:31 | +| 1 | `Deep` | fixtures/reject/src/lib.rs:1765:18 | +| 1 | `Deeper` | fixtures/reject/src/lib.rs:2016:22 | | 1 | `DoubleEndedIterator` | fixtures/reject/src/lib.rs:145:1 | -| 1 | `Dynamic` | fixtures/reject/src/lib.rs:2047:20 | -| 1 | `Enclosing` | fixtures/reject/src/lib.rs:1875:22 | +| 1 | `Dynamic` | fixtures/reject/src/lib.rs:2040:20 | +| 1 | `Enclosing` | fixtures/reject/src/lib.rs:1868:22 | | 1 | `Entry` | fixtures/reject/src/lib.rs:304:13 | -| 1 | `Escaped` | fixtures/reject/src/lib.rs:1057:43 | +| 1 | `Escaped` | fixtures/reject/src/lib.rs:1050:43 | | 1 | `FusedIterator` | fixtures/reject/src/lib.rs:193:1 | -| 1 | `Fused` | fixtures/reject/src/lib.rs:713:70 | +| 1 | `Fused` | fixtures/reject/src/lib.rs:706:70 | | 1 | `HashMap` | fixtures/reject/src/lib.rs:253:6 | -| 1 | `Hits` | fixtures/reject/src/lib.rs:705:21 | -| 1 | `InField` | fixtures/reject/src/lib.rs:1303:9 | -| 1 | `InGeneric` | fixtures/reject/src/lib.rs:1307:9 | -| 1 | `InNested` | fixtures/reject/src/lib.rs:1295:9 | -| 1 | `Lane` | fixtures/reject/src/lib.rs:857:19 | -| 1 | `Loaded` | fixtures/reject/src/lib.rs:1127:29 | -| 1 | `Looped` | fixtures/reject/src/lib.rs:1095:26 | -| 1 | `Mapped` | fixtures/reject/src/lib.rs:1172:39 | +| 1 | `Hits` | fixtures/reject/src/lib.rs:698:21 | +| 1 | `InField` | fixtures/reject/src/lib.rs:1296:9 | +| 1 | `InGeneric` | fixtures/reject/src/lib.rs:1300:9 | +| 1 | `InNested` | fixtures/reject/src/lib.rs:1288:9 | +| 1 | `Lane` | fixtures/reject/src/lib.rs:850:19 | +| 1 | `Loaded` | fixtures/reject/src/lib.rs:1120:29 | +| 1 | `Looped` | fixtures/reject/src/lib.rs:1088:26 | +| 1 | `Mapped` | fixtures/reject/src/lib.rs:1165:39 | | 1 | `Maybe` | fixtures/reject/src/lib.rs:31:2 | -| 1 | `Onced` | fixtures/reject/src/lib.rs:1218:46 | -| 1 | `Only` | fixtures/reject/src/lib.rs:722:11 | -| 1 | `Parked` | fixtures/reject/src/lib.rs:2122:20 | -| 1 | `Parking` | fixtures/reject/src/lib.rs:2122:20 | -| 1 | `Plain` | fixtures/reject/src/lib.rs:811:10 | -| 1 | `Pushed` | fixtures/reject/src/lib.rs:1233:22 | -| 1 | `Repeated` | fixtures/reject/src/lib.rs:1206:18 | -| 1 | `Replaced` | fixtures/reject/src/lib.rs:1942:20 | -| 1 | `Rewritten` | fixtures/reject/src/lib.rs:1115:47 | -| 1 | `Shared` | fixtures/reject/src/lib.rs:1813:20 | +| 1 | `Onced` | fixtures/reject/src/lib.rs:1211:46 | +| 1 | `Only` | fixtures/reject/src/lib.rs:715:11 | +| 1 | `Parked` | fixtures/reject/src/lib.rs:2115:20 | +| 1 | `Parking` | fixtures/reject/src/lib.rs:2115:20 | +| 1 | `Plain` | fixtures/reject/src/lib.rs:804:10 | +| 1 | `Pushed` | fixtures/reject/src/lib.rs:1226:22 | +| 1 | `Repeated` | fixtures/reject/src/lib.rs:1199:18 | +| 1 | `Replaced` | fixtures/reject/src/lib.rs:1935:20 | +| 1 | `Rewritten` | fixtures/reject/src/lib.rs:1108:47 | +| 1 | `Shared` | fixtures/reject/src/lib.rs:1806:20 | | 1 | `Sink` | fixtures/reject/src/lib.rs:55:10 | -| 1 | `Slotted` | fixtures/reject/src/lib.rs:1794:21 | -| 1 | `Span2` | fixtures/reject/src/lib.rs:593:10 | -| 1 | `String` | fixtures/reject/src/lib.rs:769:4 | -| 1 | `Swapped` | fixtures/reject/src/lib.rs:1960:20 | +| 1 | `Slotted` | fixtures/reject/src/lib.rs:1787:21 | +| 1 | `Span2` | fixtures/reject/src/lib.rs:586:10 | +| 1 | `String` | fixtures/reject/src/lib.rs:762:4 | +| 1 | `Swapped` | fixtures/reject/src/lib.rs:1953:20 | | 1 | `T \| undefined` | fixtures/reject/src/lib.rs:31:2 | -| 1 | `Tail` | fixtures/reject/src/lib.rs:476:30 | -| 1 | `Taken` | fixtures/reject/src/lib.rs:1978:20 | -| 1 | `Target` | fixtures/reject/src/lib.rs:1654:10 | -| 1 | `Tens` | fixtures/reject/src/lib.rs:1257:31 | -| 1 | `Track` | fixtures/reject/src/lib.rs:837:19 | -| 1 | `Unboxed` | fixtures/reject/src/lib.rs:1751:16 | -| 1 | `Waiting` | fixtures/reject/src/lib.rs:487:2 | -| 1 | `Window` | fixtures/reject/src/lib.rs:654:2 | -| 1 | `Wrapped` | fixtures/reject/src/lib.rs:1919:21 | -| 1 | `[InArray; 2]` | fixtures/reject/src/lib.rs:1322:33 | -| 1 | `[InWritten; 1]` | fixtures/reject/src/lib.rs:1383:35 | -| 1 | `[std::cell::UnsafeCell; 2]` | fixtures/reject/src/lib.rs:2076:20 | -| 1 | `dyn Keyed` | fixtures/reject/src/lib.rs:517:32 | -| 1 | `poll` | fixtures/reject/src/lib.rs:487:2 | -| 1 | `rt.Poll` | fixtures/reject/src/lib.rs:487:2 | -| 1 | `std::any::Any` | fixtures/reject/src/lib.rs:523:4 | -| 1 | `std::cell::Cell` | fixtures/reject/src/lib.rs:940:22 | -| 1 | `std::cell::LazyCell` | fixtures/reject/src/lib.rs:2191:3 | -| 1 | `std::collections::BTreeMap` | fixtures/reject/src/lib.rs:940:22 | +| 1 | `Tail` | fixtures/reject/src/lib.rs:469:30 | +| 1 | `Taken` | fixtures/reject/src/lib.rs:1971:20 | +| 1 | `Target` | fixtures/reject/src/lib.rs:1647:10 | +| 1 | `Tens` | fixtures/reject/src/lib.rs:1250:31 | +| 1 | `Track` | fixtures/reject/src/lib.rs:830:19 | +| 1 | `Unboxed` | fixtures/reject/src/lib.rs:1744:16 | +| 1 | `Waiting` | fixtures/reject/src/lib.rs:480:2 | +| 1 | `Window` | fixtures/reject/src/lib.rs:647:2 | +| 1 | `Wrapped` | fixtures/reject/src/lib.rs:1912:21 | +| 1 | `[InArray; 2]` | fixtures/reject/src/lib.rs:1315:33 | +| 1 | `[InWritten; 1]` | fixtures/reject/src/lib.rs:1376:35 | +| 1 | `[std::cell::UnsafeCell; 2]` | fixtures/reject/src/lib.rs:2069:20 | +| 1 | `dyn Keyed` | fixtures/reject/src/lib.rs:510:32 | +| 1 | `poll` | fixtures/reject/src/lib.rs:480:2 | +| 1 | `rt.Poll` | fixtures/reject/src/lib.rs:480:2 | +| 1 | `std::any::Any` | fixtures/reject/src/lib.rs:516:4 | +| 1 | `std::cell::Cell` | fixtures/reject/src/lib.rs:933:22 | +| 1 | `std::cell::LazyCell` | fixtures/reject/src/lib.rs:2184:3 | +| 1 | `std::collections::BTreeMap` | fixtures/reject/src/lib.rs:933:22 | | 1 | `std::collections::HashMap` | fixtures/reject/src/lib.rs:253:6 | -| 1 | `std::default::Default` | fixtures/reject/src/lib.rs:2104:2 | +| 1 | `std::default::Default` | fixtures/reject/src/lib.rs:2097:2 | | 1 | `std::iter::Map` | fixtures/reject/src/lib.rs:209:40 | | 1 | `std::iter::Zip` | fixtures/reject/src/lib.rs:202:8 | -| 1 | `std::iter` | fixtures/reject/src/lib.rs:1220:22 | -| 1 | `std::mem` | fixtures/reject/src/lib.rs:2159:2 | +| 1 | `std::iter` | fixtures/reject/src/lib.rs:1213:22 | +| 1 | `std::mem` | fixtures/reject/src/lib.rs:2152:2 | | 1 | `std::net::AddrParseError` | fixtures/reject/src/lib.rs:423:32 | | 1 | `std::net::Ipv4Addr` | fixtures/reject/src/lib.rs:423:32 | -| 1 | `std::num` | fixtures/reject/src/lib.rs:1262:4 | -| 1 | `std::ops::RangeFrom` | fixtures/reject/src/lib.rs:969:32 | -| 1 | `std::ops::RangeTo` | fixtures/reject/src/lib.rs:969:11 | -| 1 | `std::ptr::mut_ptr` | fixtures/reject/src/lib.rs:1698:56 | -| 1 | `std::slice::IterMut` | fixtures/reject/src/lib.rs:751:15 | -| 1 | `std::std::Layout` | fixtures/reject/src/lib.rs:550:15 | -| 1 | `std::sync::LazyLock` | fixtures/reject/src/lib.rs:2196:2 | -| 1 | `std::sync::Weak` | fixtures/reject/src/lib.rs:440:40 | +| 1 | `std::num` | fixtures/reject/src/lib.rs:1255:4 | +| 1 | `std::ops::RangeFrom` | fixtures/reject/src/lib.rs:962:32 | +| 1 | `std::ops::RangeTo` | fixtures/reject/src/lib.rs:962:11 | +| 1 | `std::ptr::mut_ptr` | fixtures/reject/src/lib.rs:1691:56 | +| 1 | `std::slice::IterMut` | fixtures/reject/src/lib.rs:744:15 | +| 1 | `std::std::Layout` | fixtures/reject/src/lib.rs:543:15 | +| 1 | `std::sync::LazyLock` | fixtures/reject/src/lib.rs:2189:2 | | 1 | `std::task::Poll` | fixtures/reject/src/lib.rs:77:34 | -| 1 | `std::thread::LocalKey` | fixtures/reject/src/lib.rs:2202:2 | +| 1 | `std::thread::LocalKey` | fixtures/reject/src/lib.rs:2195:2 | | 1 | `str` | fixtures/reject/src/lib.rs:311:4 | | 1 | `u64` | fixtures/reject/src/lib.rs:68:2 | | 1 | `value` | fixtures/reject/src/lib.rs:31:2 | @@ -257,182 +256,181 @@ The type or module each refused type or path belongs to. | Count | Construct | Type or path | First | | ---: | --- | --- | --- | -| 17 | a raw pointer to `_` in a variable assigned again while it may point there | `(u32, u32)` | fixtures/reject/src/lib.rs:601:10 | +| 17 | a raw pointer to `_` in a variable assigned again while it may point there | `(u32, u32)` | fixtures/reject/src/lib.rs:594:10 | | 4 | a variant of `_`, which is not supported: either is the same JS string | `std::borrow::Cow` | fixtures/reject/src/lib.rs:316:2 | -| 3 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Gap` | fixtures/reject/src/lib.rs:893:10 | -| 3 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `Mid`, `Outer` | fixtures/reject/src/lib.rs:1340:34 | +| 3 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Gap` | fixtures/reject/src/lib.rs:886:10 | +| 3 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `Mid`, `Outer` | fixtures/reject/src/lib.rs:1333:34 | | 3 | unsupported type `_` | `f16` | fixtures/reject/src/lib.rs:7:14 | | 2 | `_` is not supported: its `None` and `Some` would both be `rt.None` | `Option` | fixtures/reject/src/lib.rs:16:15 | | 2 | `_` of `_`, whose `None` is `rt.None`, which is not supported yet | `Iterator::scan`, `Option` | fixtures/reject/src/lib.rs:37:4 | | 2 | `_`, a trait object of another crate's trait, which is not supported yet | `dyn std::iter::Iterator` | fixtures/reject/src/lib.rs:11:16 | -| 2 | `_`, a trait object of the generic trait `_`, which is not supported yet | `dyn Scaled`, `Scaled` | fixtures/reject/src/lib.rs:449:23 | -| 2 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::mem::MaybeUninit`, `Gap` | fixtures/reject/src/lib.rs:907:19 | -| 2 | a raw pointer to `_` in a variable assigned again while it may point there | `[u8; 4]` | fixtures/reject/src/lib.rs:1718:26 | -| 2 | a raw pointer to `_` in a variable assigned again while it may point there | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:681:15 | -| 2 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `[u8; 2]` | fixtures/reject/src/lib.rs:1711:37 | -| 2 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `[u8; 3]` | fixtures/reject/src/lib.rs:1711:15 | -| 2 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Inside` | fixtures/reject/src/lib.rs:1830:20 | -| 2 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `[u8; 4]` | fixtures/reject/src/lib.rs:1718:26 | +| 2 | `_`, a trait object of the generic trait `_`, which is not supported yet | `dyn Scaled`, `Scaled` | fixtures/reject/src/lib.rs:442:23 | +| 2 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::mem::MaybeUninit`, `Gap` | fixtures/reject/src/lib.rs:900:19 | +| 2 | a raw pointer to `_` in a variable assigned again while it may point there | `[u8; 4]` | fixtures/reject/src/lib.rs:1711:26 | +| 2 | a raw pointer to `_` in a variable assigned again while it may point there | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:674:15 | +| 2 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `[u8; 2]` | fixtures/reject/src/lib.rs:1704:37 | +| 2 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `[u8; 3]` | fixtures/reject/src/lib.rs:1704:15 | +| 2 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Inside` | fixtures/reject/src/lib.rs:1823:20 | +| 2 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `[u8; 4]` | fixtures/reject/src/lib.rs:1711:26 | | 2 | an assignment through a reference to `_` | `std::pin::Pin` | fixtures/reject/src/lib.rs:107:2 | -| 2 | comparing pointers to `_`, each a place JS makes of its own | `u32` | fixtures/reject/src/lib.rs:581:2 | +| 2 | comparing pointers to `_`, each a place JS makes of its own | `u32` | fixtures/reject/src/lib.rs:574:2 | | 2 | replacing the value behind a reference to `_` | `std::pin::Pin` | fixtures/reject/src/lib.rs:91:2 | | 2 | unsupported call to `_` | `::sum` | fixtures/reject/src/lib.rs:419:17 | -| 1 | `Buf::copy_to_bytes` of `_`, a value JS copies, which is not supported | `Blank` | fixtures/reject/src/lib.rs:746:2 | +| 1 | `Buf::copy_to_bytes` of `_`, a value JS copies, which is not supported | `Blank` | fixtures/reject/src/lib.rs:739:2 | | 1 | `BufMut::put` of `_` into a `BytesMut`, which advances it by the room left in a capacity that depends on whether the other handles of its storage dropped, which is not supported | `Counted` | fixtures/reject/src/lib.rs:379:2 | | 1 | `BufMut::put` of `_` into a `BytesMut`, which picks the methods it calls by a capacity that depends on whether the other handles of its storage dropped, which is not supported | `Counted` | fixtures/reject/src/lib.rs:374:2 | | 1 | `Bytes::from_owner` of `_`, which would drop with the last clone of what it makes, which is not supported | `std::sync::Arc` | fixtures/reject/src/lib.rs:359:2 | -| 1 | `Extend` of `_` by `_`, whose `_` of `_` is not supported yet | `(std::vec::Vec, Tens)`, `(u8, u8)`, `Tens`, `u8` | fixtures/reject/src/lib.rs:1257:31 | +| 1 | `Extend` of `_` by `_`, whose `_` of `_` is not supported yet | `(std::vec::Vec, Tens)`, `(u8, u8)`, `Tens`, `u8` | fixtures/reject/src/lib.rs:1250:31 | | 1 | `_` is not supported: its `Pending` and `Ready` would both be `rt.OuterPending` | `Poll` | fixtures/reject/src/lib.rs:72:20 | | 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `None` would be `rt.None` as `_` | `Maybe`, `value`, `Option`, `T \| undefined`, `Option` | fixtures/reject/src/lib.rs:31:2 | -| 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `Pending` would be `rt.OuterPending` as `_` | `Waiting`, `poll`, `Poll`, `rt.Poll`, `Poll` | fixtures/reject/src/lib.rs:487:2 | +| 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `Pending` would be `rt.OuterPending` as `_` | `Waiting`, `poll`, `Poll`, `rt.Poll`, `Poll` | fixtures/reject/src/lib.rs:480:2 | | 1 | `_` of `_` by `_`, which is not supported yet | `HashMap::contains_key`, `std::collections::HashMap`, `u8` | fixtures/reject/src/lib.rs:253:6 | -| 1 | `_` of `_`, which is not supported yet | `std::any::Any::type_id`, `dyn std::any::Any` | fixtures/reject/src/lib.rs:523:4 | -| 1 | `_` of `_`, whose `clone_from` is its own, which is not supported yet | `Clone::clone_from`, `std::vec::Vec` | fixtures/reject/src/lib.rs:2154:4 | +| 1 | `_` of `_`, which is not supported yet | `std::any::Any::type_id`, `dyn std::any::Any` | fixtures/reject/src/lib.rs:516:4 | +| 1 | `_` of `_`, whose `clone_from` is its own, which is not supported yet | `Clone::clone_from`, `std::vec::Vec` | fixtures/reject/src/lib.rs:2147:4 | | 1 | `_` of `_`, whose `clone_from` is its own, which is not supported yet | `slice::clone_from_slice`, `Reused` | fixtures/reject/src/lib.rs:271:4 | | 1 | `_` of `_`, whose `clone_from` is its own, which is not supported yet | `slice::fill`, `Reused` | fixtures/reject/src/lib.rs:21:4 | -| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::collections::LinkedList::retain` | fixtures/reject/src/lib.rs:2102:4 | -| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::default::Default::default` | fixtures/reject/src/lib.rs:2104:2 | -| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::iter::once` | fixtures/reject/src/lib.rs:1220:22 | -| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::str::from_utf8_mut` | fixtures/reject/src/lib.rs:1627:20 | -| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::str::get_unchecked_mut` | fixtures/reject/src/lib.rs:1622:13 | +| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::collections::LinkedList::retain` | fixtures/reject/src/lib.rs:2095:4 | +| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::default::Default::default` | fixtures/reject/src/lib.rs:2097:2 | +| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::iter::once` | fixtures/reject/src/lib.rs:1213:22 | +| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::str::from_utf8_mut` | fixtures/reject/src/lib.rs:1620:20 | +| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::str::get_unchecked_mut` | fixtures/reject/src/lib.rs:1615:13 | | 1 | `_`, which reads a capacity that depends on whether the other handles of its storage dropped, which is not supported | `BytesMut::capacity` | fixtures/reject/src/lib.rs:368:6 | -| 1 | `clone_from` of `_`, whose items' `clone_from` is their own, which is not supported yet | `std::collections::LinkedList` | fixtures/reject/src/lib.rs:2103:4 | -| 1 | `collect` of `_`, which sorts by `_`'s own `Ord`, of entries that drop, which is not supported yet | `std::collections::BTreeMap`, `std::cell::Cell` | fixtures/reject/src/lib.rs:940:22 | +| 1 | `clone_from` of `_`, whose items' `clone_from` is their own, which is not supported yet | `std::collections::LinkedList` | fixtures/reject/src/lib.rs:2096:4 | +| 1 | `collect` of `_`, which sorts by `_`'s own `Ord`, of entries that drop, which is not supported yet | `std::collections::BTreeMap`, `std::cell::Cell` | fixtures/reject/src/lib.rs:933:22 | | 1 | `fmt::Arguments` with a placeholder, or not made in place, written to `_`'s own `fmt::Write`, which is not supported yet: std splits what a placeholder writes into `write_str` calls the runtime does not make | `Sink` | fixtures/reject/src/lib.rs:55:10 | | 1 | a `collect` in place of `_`, a zip std reads by index, holding values that drop, which is not supported yet | `std::iter::Map` | fixtures/reject/src/lib.rs:209:40 | | 1 | a `skip` of `_`, a zip std reads by index, of items that drop, which is not supported yet | `std::iter::Zip` | fixtures/reject/src/lib.rs:202:8 | | 1 | a cast from `_` to `_` | `u64`, `f16` | fixtures/reject/src/lib.rs:68:2 | -| 1 | a cast from `_` to `_`, which reads the bytes of one type as another | `*const [u8; 4]`, `*const u8` | fixtures/reject/src/lib.rs:1698:33 | -| 1 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `[u8; 4]`, `u8` | fixtures/reject/src/lib.rs:1698:17 | -| 1 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `u32`, `u8` | fixtures/reject/src/lib.rs:540:27 | -| 1 | a coercion of `_` to `_`, a pointer to a slice | `*const [u8; 4]`, `*const [u8]` | fixtures/reject/src/lib.rs:1699:28 | +| 1 | a cast from `_` to `_`, which reads the bytes of one type as another | `*const [u8; 4]`, `*const u8` | fixtures/reject/src/lib.rs:1691:33 | +| 1 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `[u8; 4]`, `u8` | fixtures/reject/src/lib.rs:1691:17 | +| 1 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `u32`, `u8` | fixtures/reject/src/lib.rs:533:27 | +| 1 | a coercion of `_` to `_`, a pointer to a slice | `*const [u8; 4]`, `*const [u8]` | fixtures/reject/src/lib.rs:1692:28 | | 1 | a coercion to `_` | `std::sync::Arc` | fixtures/reject/src/lib.rs:276:2 | -| 1 | a coercion to `_`, which is not supported yet | `&Tail` | fixtures/reject/src/lib.rs:476:30 | -| 1 | a coercion to `_`, which is not supported yet | `std::sync::Weak` | fixtures/reject/src/lib.rs:440:40 | -| 1 | a constant of type `_`, a pointer into memory translation can't name | `&u32` | fixtures/reject/src/lib.rs:763:3 | -| 1 | a dangling pointer to `_`, a value of no bytes made of more than structs and tuples | `Only` | fixtures/reject/src/lib.rs:722:11 | +| 1 | a coercion to `_`, which is not supported yet | `&Tail` | fixtures/reject/src/lib.rs:469:30 | +| 1 | a constant of type `_`, a pointer into memory translation can't name | `&u32` | fixtures/reject/src/lib.rs:756:3 | +| 1 | a dangling pointer to `_`, a value of no bytes made of more than structs and tuples | `Only` | fixtures/reject/src/lib.rs:715:11 | | 1 | a future of `_`, which can be `rt.Pending`, as the future's own `Pending` is | `std::task::Poll` | fixtures/reject/src/lib.rs:77:34 | -| 1 | a mapped guard of `_`, which JS can't write in place | `{closure}` | fixtures/reject/src/lib.rs:2137:10 | -| 1 | a raw pointer to `_` behind a reference, which is the object and not where it is kept | `std::vec::Vec` | fixtures/reject/src/lib.rs:562:10 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u16, u16)`, `Copied` | fixtures/reject/src/lib.rs:1161:31 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u16, u16)`, `Pushed` | fixtures/reject/src/lib.rs:1233:22 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Lane` | fixtures/reject/src/lib.rs:857:19 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Plain` | fixtures/reject/src/lib.rs:811:10 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Span2` | fixtures/reject/src/lib.rs:593:10 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Track` | fixtures/reject/src/lib.rs:837:19 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Window` | fixtures/reject/src/lib.rs:654:2 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:672:15 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `(Dropped, (u8, u8))` | fixtures/reject/src/lib.rs:2248:2 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Cloned; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2232:2 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Greatest; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2266:13 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Touched; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2297:2 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeyReplace`, `(u16, ByKeyReplace)` | fixtures/reject/src/lib.rs:1606:55 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeySet`, `(u16, ByKeySet)` | fixtures/reject/src/lib.rs:1598:51 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeyTake`, `(u16, ByKeyTake)` | fixtures/reject/src/lib.rs:1613:52 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByRefReplace`, `(u16, ByRefReplace)` | fixtures/reject/src/lib.rs:1582:32 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByRefTake`, `(u16, ByRefTake)` | fixtures/reject/src/lib.rs:1590:32 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Aliased` | fixtures/reject/src/lib.rs:1105:29 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByBox` | fixtures/reject/src/lib.rs:1489:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByClosure` | fixtures/reject/src/lib.rs:1504:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByExchanged` | fixtures/reject/src/lib.rs:1550:30 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByInstance` | fixtures/reject/src/lib.rs:1530:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByObject` | fixtures/reject/src/lib.rs:1517:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByRead` | fixtures/reject/src/lib.rs:1440:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByReplace` | fixtures/reject/src/lib.rs:1478:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `BySwap` | fixtures/reject/src/lib.rs:1466:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `BySwapped` | fixtures/reject/src/lib.rs:1539:76 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByWrite` | fixtures/reject/src/lib.rs:1453:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Called` | fixtures/reject/src/lib.rs:1071:28 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Escaped` | fixtures/reject/src/lib.rs:1057:43 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Hits` | fixtures/reject/src/lib.rs:705:21 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InArray` | fixtures/reject/src/lib.rs:1287:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InField` | fixtures/reject/src/lib.rs:1303:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InGeneric` | fixtures/reject/src/lib.rs:1307:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InNested` | fixtures/reject/src/lib.rs:1295:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InPayload` | fixtures/reject/src/lib.rs:1299:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InTuple` | fixtures/reject/src/lib.rs:1291:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InWritten` | fixtures/reject/src/lib.rs:1311:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Loaded` | fixtures/reject/src/lib.rs:1127:29 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Looped` | fixtures/reject/src/lib.rs:1095:26 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Mapped` | fixtures/reject/src/lib.rs:1172:39 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Onced` | fixtures/reject/src/lib.rs:1218:46 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Repeated` | fixtures/reject/src/lib.rs:1206:18 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Rewritten` | fixtures/reject/src/lib.rs:1115:47 | -| 1 | a raw pointer to `_` in a variable assigned again while it may point there | `Target` | fixtures/reject/src/lib.rs:1654:10 | -| 1 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `(u32, u32)` | fixtures/reject/src/lib.rs:664:10 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InArray`, `[InArray; 2]` | fixtures/reject/src/lib.rs:1322:33 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InTuple`, `(u16, InTuple)` | fixtures/reject/src/lib.rs:1331:33 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InWritten`, `[InWritten; 1]` | fixtures/reject/src/lib.rs:1383:35 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `Parked`, `Parking` | fixtures/reject/src/lib.rs:2122:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Assigned` | fixtures/reject/src/lib.rs:1997:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Closed` | fixtures/reject/src/lib.rs:2063:15 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Deeper` | fixtures/reject/src/lib.rs:2023:22 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Dynamic` | fixtures/reject/src/lib.rs:2047:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Replaced` | fixtures/reject/src/lib.rs:1942:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Swapped` | fixtures/reject/src/lib.rs:1960:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Taken` | fixtures/reject/src/lib.rs:1978:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `[std::cell::UnsafeCell; 2]` | fixtures/reject/src/lib.rs:2076:20 | -| 1 | a reference through which a raw pointer may be made into `_` in an element, a payload, or a union field, which is not supported yet | `InPayload` | fixtures/reject/src/lib.rs:1349:11 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Behind` | fixtures/reject/src/lib.rs:1736:22 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Chosen` | fixtures/reject/src/lib.rs:1891:17 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Compared` | fixtures/reject/src/lib.rs:1858:22 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Deep` | fixtures/reject/src/lib.rs:1772:18 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Enclosing` | fixtures/reject/src/lib.rs:1875:22 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Shared` | fixtures/reject/src/lib.rs:1813:20 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Slotted` | fixtures/reject/src/lib.rs:1794:21 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Unboxed` | fixtures/reject/src/lib.rs:1751:16 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Wrapped` | fixtures/reject/src/lib.rs:1919:21 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:1640:18 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `std::option::Option` | fixtures/reject/src/lib.rs:2093:13 | +| 1 | a mapped guard of `_`, which JS can't write in place | `{closure}` | fixtures/reject/src/lib.rs:2130:10 | +| 1 | a raw pointer to `_` behind a reference, which is the object and not where it is kept | `std::vec::Vec` | fixtures/reject/src/lib.rs:555:10 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u16, u16)`, `Copied` | fixtures/reject/src/lib.rs:1154:31 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u16, u16)`, `Pushed` | fixtures/reject/src/lib.rs:1226:22 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Lane` | fixtures/reject/src/lib.rs:850:19 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Plain` | fixtures/reject/src/lib.rs:804:10 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Span2` | fixtures/reject/src/lib.rs:586:10 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Track` | fixtures/reject/src/lib.rs:830:19 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Window` | fixtures/reject/src/lib.rs:647:2 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:665:15 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `(Dropped, (u8, u8))` | fixtures/reject/src/lib.rs:2241:2 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Cloned; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2225:2 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Greatest; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2259:13 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Touched; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2290:2 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeyReplace`, `(u16, ByKeyReplace)` | fixtures/reject/src/lib.rs:1599:55 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeySet`, `(u16, ByKeySet)` | fixtures/reject/src/lib.rs:1591:51 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeyTake`, `(u16, ByKeyTake)` | fixtures/reject/src/lib.rs:1606:52 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByRefReplace`, `(u16, ByRefReplace)` | fixtures/reject/src/lib.rs:1575:32 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByRefTake`, `(u16, ByRefTake)` | fixtures/reject/src/lib.rs:1583:32 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Aliased` | fixtures/reject/src/lib.rs:1098:29 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByBox` | fixtures/reject/src/lib.rs:1482:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByClosure` | fixtures/reject/src/lib.rs:1497:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByExchanged` | fixtures/reject/src/lib.rs:1543:30 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByInstance` | fixtures/reject/src/lib.rs:1523:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByObject` | fixtures/reject/src/lib.rs:1510:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByRead` | fixtures/reject/src/lib.rs:1433:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByReplace` | fixtures/reject/src/lib.rs:1471:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `BySwap` | fixtures/reject/src/lib.rs:1459:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `BySwapped` | fixtures/reject/src/lib.rs:1532:76 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByWrite` | fixtures/reject/src/lib.rs:1446:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Called` | fixtures/reject/src/lib.rs:1064:28 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Escaped` | fixtures/reject/src/lib.rs:1050:43 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Hits` | fixtures/reject/src/lib.rs:698:21 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InArray` | fixtures/reject/src/lib.rs:1280:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InField` | fixtures/reject/src/lib.rs:1296:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InGeneric` | fixtures/reject/src/lib.rs:1300:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InNested` | fixtures/reject/src/lib.rs:1288:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InPayload` | fixtures/reject/src/lib.rs:1292:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InTuple` | fixtures/reject/src/lib.rs:1284:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InWritten` | fixtures/reject/src/lib.rs:1304:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Loaded` | fixtures/reject/src/lib.rs:1120:29 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Looped` | fixtures/reject/src/lib.rs:1088:26 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Mapped` | fixtures/reject/src/lib.rs:1165:39 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Onced` | fixtures/reject/src/lib.rs:1211:46 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Repeated` | fixtures/reject/src/lib.rs:1199:18 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Rewritten` | fixtures/reject/src/lib.rs:1108:47 | +| 1 | a raw pointer to `_` in a variable assigned again while it may point there | `Target` | fixtures/reject/src/lib.rs:1647:10 | +| 1 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `(u32, u32)` | fixtures/reject/src/lib.rs:657:10 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InArray`, `[InArray; 2]` | fixtures/reject/src/lib.rs:1315:33 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InTuple`, `(u16, InTuple)` | fixtures/reject/src/lib.rs:1324:33 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InWritten`, `[InWritten; 1]` | fixtures/reject/src/lib.rs:1376:35 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `Parked`, `Parking` | fixtures/reject/src/lib.rs:2115:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Assigned` | fixtures/reject/src/lib.rs:1990:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Closed` | fixtures/reject/src/lib.rs:2056:15 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Deeper` | fixtures/reject/src/lib.rs:2016:22 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Dynamic` | fixtures/reject/src/lib.rs:2040:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Replaced` | fixtures/reject/src/lib.rs:1935:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Swapped` | fixtures/reject/src/lib.rs:1953:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Taken` | fixtures/reject/src/lib.rs:1971:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `[std::cell::UnsafeCell; 2]` | fixtures/reject/src/lib.rs:2069:20 | +| 1 | a reference through which a raw pointer may be made into `_` in an element, a payload, or a union field, which is not supported yet | `InPayload` | fixtures/reject/src/lib.rs:1342:11 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Behind` | fixtures/reject/src/lib.rs:1729:22 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Chosen` | fixtures/reject/src/lib.rs:1884:17 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Compared` | fixtures/reject/src/lib.rs:1851:22 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Deep` | fixtures/reject/src/lib.rs:1765:18 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Enclosing` | fixtures/reject/src/lib.rs:1868:22 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Shared` | fixtures/reject/src/lib.rs:1806:20 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Slotted` | fixtures/reject/src/lib.rs:1787:21 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Unboxed` | fixtures/reject/src/lib.rs:1744:16 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Wrapped` | fixtures/reject/src/lib.rs:1912:21 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:1633:18 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `std::option::Option` | fixtures/reject/src/lib.rs:2086:13 | | 1 | a scalar constant of type `_` | `f16` | fixtures/reject/src/lib.rs:8:2 | -| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `Reused` | fixtures/reject/src/lib.rs:2149:2 | -| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `std::cell::LazyCell` | fixtures/reject/src/lib.rs:2191:3 | -| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `std::thread::LocalKey` | fixtures/reject/src/lib.rs:2202:2 | -| 1 | a trait object of `_`, which is not supported yet | `[u8; 4]` | fixtures/reject/src/lib.rs:466:26 | -| 1 | an assignment through a reference to `_` | `std::sync::LazyLock` | fixtures/reject/src/lib.rs:2196:2 | +| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `Reused` | fixtures/reject/src/lib.rs:2142:2 | +| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `std::cell::LazyCell` | fixtures/reject/src/lib.rs:2184:3 | +| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `std::thread::LocalKey` | fixtures/reject/src/lib.rs:2195:2 | +| 1 | a trait object of `_`, which is not supported yet | `[u8; 4]` | fixtures/reject/src/lib.rs:459:26 | +| 1 | an assignment through a reference to `_` | `std::sync::LazyLock` | fixtures/reject/src/lib.rs:2189:2 | | 1 | an assignment through a reference to `_` | `std::sync::MutexGuard` | fixtures/reject/src/lib.rs:83:2 | | 1 | an iterator of the crate implementing `_`, which is not supported yet | `DoubleEndedIterator` | fixtures/reject/src/lib.rs:145:1 | | 1 | an iterator of the crate implementing `_`, which is not supported yet | `FusedIterator` | fixtures/reject/src/lib.rs:193:1 | -| 1 | an upcast from `_` to `_`, which is not supported yet | `dyn Keyed`, `dyn std::any::Any` | fixtures/reject/src/lib.rs:517:32 | +| 1 | an upcast from `_` to `_`, which is not supported yet | `dyn Keyed`, `dyn std::any::Any` | fixtures/reject/src/lib.rs:510:32 | | 1 | arithmetic on `_` | `f16` | fixtures/reject/src/lib.rs:8:2 | -| 1 | comparing `_` | `*mut [u8; 4]` | fixtures/reject/src/lib.rs:1697:41 | +| 1 | comparing `_` | `*mut [u8; 4]` | fixtures/reject/src/lib.rs:1690:41 | | 1 | comparing `_` as a key, which is not supported yet | `std::collections::BTreeSet` | fixtures/reject/src/lib.rs:235:75 | -| 1 | comparing pointers to `_` in an atomic, which JS has no address of | `u32` | fixtures/reject/src/lib.rs:762:15 | -| 1 | comparing pointers to `_`, which has no bytes and so no address of its own | `Fused` | fixtures/reject/src/lib.rs:713:70 | -| 1 | const generic types are not supported: `_` | `Block` | fixtures/reject/src/lib.rs:2082:1 | +| 1 | comparing pointers to `_` in an atomic, which JS has no address of | `u32` | fixtures/reject/src/lib.rs:755:15 | +| 1 | comparing pointers to `_`, which has no bytes and so no address of its own | `Fused` | fixtures/reject/src/lib.rs:706:70 | +| 1 | const generic types are not supported: `_` | `Block` | fixtures/reject/src/lib.rs:2075:1 | | 1 | constructing `_` | `std::borrow::Cow` | fixtures/reject/src/lib.rs:334:53 | | 1 | hashing `_` as a key, which is not supported yet | `std::collections::BTreeSet` | fixtures/reject/src/lib.rs:235:75 | -| 1 | hashing `_` by its address, which JS has no counterpart of | `*const [u8; 4]` | fixtures/reject/src/lib.rs:1701:5 | +| 1 | hashing `_` by its address, which JS has no counterpart of | `*const [u8; 4]` | fixtures/reject/src/lib.rs:1694:5 | | 1 | hashing `_` through `_`'s own `Hash::hash_slice`, which is not supported yet | `std::vec::Vec`, `Batched` | fixtures/reject/src/lib.rs:295:16 | | 1 | overriding `_`, which std's adaptors call in place of `next` or beside it | `Iterator::fold` | fixtures/reject/src/lib.rs:125:2 | | 1 | overriding `_`, which std's adaptors call in place of `next` or beside it | `Iterator::size_hint` | fixtures/reject/src/lib.rs:173:2 | | 1 | passing `_`, a closure that owns a value that drops, to `_`, which is not supported yet | `{closure}`, `Entry::or_insert_with` | fixtures/reject/src/lib.rs:304:13 | -| 1 | passing `_`, which drops, to `_`, which is not supported yet | `{closure}`, `String::retain` | fixtures/reject/src/lib.rs:769:4 | +| 1 | passing `_`, which drops, to `_`, which is not supported yet | `{closure}`, `String::retain` | fixtures/reject/src/lib.rs:762:4 | | 1 | passing `_`, which drops, to `_`, which is not supported yet | `{closure}`, `str::contains` | fixtures/reject/src/lib.rs:311:4 | | 1 | replacing the value behind a reference to `_` | `std::sync::MutexGuard` | fixtures/reject/src/lib.rs:112:2 | -| 1 | union `_`, whose fields overlap in `_` and `f64`, which JS keeps apart | `Bits`, `u32` | fixtures/reject/src/lib.rs:567:1 | -| 1 | unsupported call to `_` | `::eq` | fixtures/reject/src/lib.rs:523:2 | -| 1 | unsupported call to `_` | `::contains` | fixtures/reject/src/lib.rs:969:32 | +| 1 | union `_`, whose fields overlap in `_` and `f64`, which JS keeps apart | `Bits`, `u32` | fixtures/reject/src/lib.rs:560:1 | +| 1 | unsupported call to `_` | `::eq` | fixtures/reject/src/lib.rs:516:2 | +| 1 | unsupported call to `_` | `::contains` | fixtures/reject/src/lib.rs:962:32 | | 1 | unsupported call to `_` | `::eq` | fixtures/reject/src/lib.rs:354:2 | -| 1 | unsupported call to `_` | `::is_sorted` | fixtures/reject/src/lib.rs:751:15 | +| 1 | unsupported call to `_` | `::is_sorted` | fixtures/reject/src/lib.rs:744:15 | | 1 | unsupported call to `_` | `::hash` | fixtures/reject/src/lib.rs:286:10 | -| 1 | unsupported call to `_` | `std::any::TypeId::of` | fixtures/reject/src/lib.rs:523:17 | +| 1 | unsupported call to `_` | `std::any::TypeId::of` | fixtures/reject/src/lib.rs:516:17 | | 1 | unsupported call to `_` | `std::borrow::Cow::is_borrowed` | fixtures/reject/src/lib.rs:328:2 | -| 1 | unsupported call to `_` | `std::mem::size_of_val` | fixtures/reject/src/lib.rs:2159:2 | -| 1 | unsupported call to `_` | `std::num::is_ascii_octdigit` | fixtures/reject/src/lib.rs:1262:4 | +| 1 | unsupported call to `_` | `std::mem::size_of_val` | fixtures/reject/src/lib.rs:2152:2 | +| 1 | unsupported call to `_` | `std::num::is_ascii_octdigit` | fixtures/reject/src/lib.rs:1255:4 | | 1 | unsupported call to `_` | `std::ops::Range::contains` | fixtures/reject/src/lib.rs:160:8 | -| 1 | unsupported call to `_` | `std::ops::Range::is_empty` | fixtures/reject/src/lib.rs:974:9 | -| 1 | unsupported call to `_` | `std::ops::RangeTo::contains` | fixtures/reject/src/lib.rs:969:11 | -| 1 | unsupported call to `_` | `std::ptr::addr_eq` | fixtures/reject/src/lib.rs:1697:14 | -| 1 | unsupported call to `_` | `std::ptr::const_ptr::len` | fixtures/reject/src/lib.rs:1702:58 | -| 1 | unsupported call to `_` | `std::ptr::const_ptr::offset` | fixtures/reject/src/lib.rs:1698:73 | -| 1 | unsupported call to `_` | `std::ptr::copy_nonoverlapping` | fixtures/reject/src/lib.rs:1696:3 | -| 1 | unsupported call to `_` | `std::ptr::copy` | fixtures/reject/src/lib.rs:1695:3 | -| 1 | unsupported call to `_` | `std::ptr::mut_ptr::add` | fixtures/reject/src/lib.rs:1698:56 | -| 1 | unsupported call to `_` | `std::std::Layout::new` | fixtures/reject/src/lib.rs:550:15 | -| 1 | unsupported call to `_` | `std::std::alloc` | fixtures/reject/src/lib.rs:552:11 | -| 1 | unsupported call to `_` | `std::std::dealloc` | fixtures/reject/src/lib.rs:555:3 | -| 1 | unsupported call to `_` | `std::str::as_bytes_mut` | fixtures/reject/src/lib.rs:1621:13 | +| 1 | unsupported call to `_` | `std::ops::Range::is_empty` | fixtures/reject/src/lib.rs:967:9 | +| 1 | unsupported call to `_` | `std::ops::RangeTo::contains` | fixtures/reject/src/lib.rs:962:11 | +| 1 | unsupported call to `_` | `std::ptr::addr_eq` | fixtures/reject/src/lib.rs:1690:14 | +| 1 | unsupported call to `_` | `std::ptr::const_ptr::len` | fixtures/reject/src/lib.rs:1695:58 | +| 1 | unsupported call to `_` | `std::ptr::const_ptr::offset` | fixtures/reject/src/lib.rs:1691:73 | +| 1 | unsupported call to `_` | `std::ptr::copy_nonoverlapping` | fixtures/reject/src/lib.rs:1689:3 | +| 1 | unsupported call to `_` | `std::ptr::copy` | fixtures/reject/src/lib.rs:1688:3 | +| 1 | unsupported call to `_` | `std::ptr::mut_ptr::add` | fixtures/reject/src/lib.rs:1691:56 | +| 1 | unsupported call to `_` | `std::std::Layout::new` | fixtures/reject/src/lib.rs:543:15 | +| 1 | unsupported call to `_` | `std::std::alloc` | fixtures/reject/src/lib.rs:545:11 | +| 1 | unsupported call to `_` | `std::std::dealloc` | fixtures/reject/src/lib.rs:548:3 | +| 1 | unsupported call to `_` | `std::str::as_bytes_mut` | fixtures/reject/src/lib.rs:1614:13 | | 1 | unsupported call to `_` | `std::str::parse` | fixtures/reject/src/lib.rs:424:4 | | 1 | unsupported type `_` from another crate | `std::net::AddrParseError` | fixtures/reject/src/lib.rs:423:32 | | 1 | unsupported type `_` from another crate | `std::net::Ipv4Addr` | fixtures/reject/src/lib.rs:423:32 | @@ -441,55 +439,55 @@ The type or module each refused type or path belongs to.

a raw pointer to `_` in `_`, which the crate may put another object in place of (49) -- fixtures/reject/src/lib.rs:593:10: a raw pointer to `(u32, u32)` in `Span2`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:654:2: a raw pointer to `(u32, u32)` in `Window`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:672:15: a raw pointer to `(u32, u32)` in `std::cell::UnsafeCell<(u32, u32)>`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:705:21: a raw pointer to `std::cell::UnsafeCell` in `Hits`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:811:10: a raw pointer to `(u32, u32)` in `Plain`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:837:19: a raw pointer to `(u32, u32)` in `Track`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:857:19: a raw pointer to `(u32, u32)` in `Lane`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:893:10: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:894:10: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:895:58: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:907:19: a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:908:19: a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1057:43: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Escaped`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1071:28: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Called`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1095:26: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Looped`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1105:29: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Aliased`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1115:47: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Rewritten`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1127:29: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Loaded`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1161:31: a raw pointer to `(u16, u16)` in `Copied`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1172:39: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Mapped`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1206:18: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Repeated`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1218:46: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Onced`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1233:22: a raw pointer to `(u16, u16)` in `Pushed`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1287:9: a raw pointer to `std::cell::UnsafeCell` in `InArray`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1291:9: a raw pointer to `std::cell::UnsafeCell` in `InTuple`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1295:9: a raw pointer to `std::cell::UnsafeCell` in `InNested`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1299:9: a raw pointer to `std::cell::UnsafeCell` in `InPayload`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1303:9: a raw pointer to `std::cell::UnsafeCell` in `InField`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1307:9: a raw pointer to `std::cell::UnsafeCell` in `InGeneric`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1311:9: a raw pointer to `std::cell::UnsafeCell` in `InWritten`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1440:35: a raw pointer to `std::cell::UnsafeCell` in `ByRead`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1453:35: a raw pointer to `std::cell::UnsafeCell` in `ByWrite`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1466:35: a raw pointer to `std::cell::UnsafeCell` in `BySwap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1478:35: a raw pointer to `std::cell::UnsafeCell` in `ByReplace`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1489:35: a raw pointer to `std::cell::UnsafeCell` in `ByBox`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1504:35: a raw pointer to `std::cell::UnsafeCell` in `ByClosure`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1517:35: a raw pointer to `std::cell::UnsafeCell` in `ByObject`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1530:35: a raw pointer to `std::cell::UnsafeCell` in `ByInstance`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1539:76: a raw pointer to `std::cell::UnsafeCell` in `BySwapped`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1550:30: a raw pointer to `std::cell::UnsafeCell` in `ByExchanged`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1582:32: a raw pointer to `ByRefReplace` in `(u16, ByRefReplace)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1590:32: a raw pointer to `ByRefTake` in `(u16, ByRefTake)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1598:51: a raw pointer to `ByKeySet` in `(u16, ByKeySet)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1606:55: a raw pointer to `ByKeyReplace` in `(u16, ByKeyReplace)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1613:52: a raw pointer to `ByKeyTake` in `(u16, ByKeyTake)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2232:2: a raw pointer to `(u8, u8)` in `([Cloned; 2], (u8, u8))`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2248:2: a raw pointer to `(u8, u8)` in `(Dropped, (u8, u8))`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2266:13: a raw pointer to `(u8, u8)` in `([Greatest; 2], (u8, u8))`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2297:2: a raw pointer to `(u8, u8)` in `([Touched; 2], (u8, u8))`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:586:10: a raw pointer to `(u32, u32)` in `Span2`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:647:2: a raw pointer to `(u32, u32)` in `Window`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:665:15: a raw pointer to `(u32, u32)` in `std::cell::UnsafeCell<(u32, u32)>`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:698:21: a raw pointer to `std::cell::UnsafeCell` in `Hits`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:804:10: a raw pointer to `(u32, u32)` in `Plain`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:830:19: a raw pointer to `(u32, u32)` in `Track`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:850:19: a raw pointer to `(u32, u32)` in `Lane`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:886:10: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:887:10: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:888:58: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:900:19: a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:901:19: a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1050:43: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Escaped`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1064:28: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Called`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1088:26: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Looped`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1098:29: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Aliased`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1108:47: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Rewritten`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1120:29: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Loaded`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1154:31: a raw pointer to `(u16, u16)` in `Copied`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1165:39: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Mapped`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1199:18: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Repeated`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1211:46: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Onced`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1226:22: a raw pointer to `(u16, u16)` in `Pushed`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1280:9: a raw pointer to `std::cell::UnsafeCell` in `InArray`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1284:9: a raw pointer to `std::cell::UnsafeCell` in `InTuple`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1288:9: a raw pointer to `std::cell::UnsafeCell` in `InNested`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1292:9: a raw pointer to `std::cell::UnsafeCell` in `InPayload`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1296:9: a raw pointer to `std::cell::UnsafeCell` in `InField`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1300:9: a raw pointer to `std::cell::UnsafeCell` in `InGeneric`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1304:9: a raw pointer to `std::cell::UnsafeCell` in `InWritten`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1433:35: a raw pointer to `std::cell::UnsafeCell` in `ByRead`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1446:35: a raw pointer to `std::cell::UnsafeCell` in `ByWrite`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1459:35: a raw pointer to `std::cell::UnsafeCell` in `BySwap`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1471:35: a raw pointer to `std::cell::UnsafeCell` in `ByReplace`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1482:35: a raw pointer to `std::cell::UnsafeCell` in `ByBox`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1497:35: a raw pointer to `std::cell::UnsafeCell` in `ByClosure`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1510:35: a raw pointer to `std::cell::UnsafeCell` in `ByObject`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1523:35: a raw pointer to `std::cell::UnsafeCell` in `ByInstance`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1532:76: a raw pointer to `std::cell::UnsafeCell` in `BySwapped`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1543:30: a raw pointer to `std::cell::UnsafeCell` in `ByExchanged`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1575:32: a raw pointer to `ByRefReplace` in `(u16, ByRefReplace)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1583:32: a raw pointer to `ByRefTake` in `(u16, ByRefTake)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1591:51: a raw pointer to `ByKeySet` in `(u16, ByKeySet)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1599:55: a raw pointer to `ByKeyReplace` in `(u16, ByKeyReplace)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1606:52: a raw pointer to `ByKeyTake` in `(u16, ByKeyTake)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2225:2: a raw pointer to `(u8, u8)` in `([Cloned; 2], (u8, u8))`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2241:2: a raw pointer to `(u8, u8)` in `(Dropped, (u8, u8))`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2259:13: a raw pointer to `(u8, u8)` in `([Greatest; 2], (u8, u8))`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2290:2: a raw pointer to `(u8, u8)` in `([Touched; 2], (u8, u8))`, which the crate may put another object in place of
@@ -502,111 +500,111 @@ The type or module each refused type or path belongs to. - fixtures/reject/src/lib.rs:419:17: unsupported call to ` as std::iter::Iterator>::sum::` - fixtures/reject/src/lib.rs:419:38: unsupported call to ` as std::iter::Iterator>::sum::` - fixtures/reject/src/lib.rs:424:4: unsupported call to `core::str::::parse::` -- fixtures/reject/src/lib.rs:523:2: unsupported call to `::eq` -- fixtures/reject/src/lib.rs:523:17: unsupported call to `std::any::TypeId::of::` -- fixtures/reject/src/lib.rs:550:15: unsupported call to `std::alloc::Layout::new::` -- fixtures/reject/src/lib.rs:552:11: unsupported call to `std::alloc::alloc` -- fixtures/reject/src/lib.rs:555:3: unsupported call to `std::alloc::dealloc` -- fixtures/reject/src/lib.rs:751:15: unsupported call to ` as std::iter::Iterator>::is_sorted` -- fixtures/reject/src/lib.rs:969:11: unsupported call to `std::ops::RangeTo::::contains::` -- fixtures/reject/src/lib.rs:969:32: unsupported call to ` as std::ops::RangeBounds>::contains::` -- fixtures/reject/src/lib.rs:974:9: unsupported call to `std::ops::Range::<&mut u8>::is_empty` -- fixtures/reject/src/lib.rs:1262:4: unsupported call to `core::num::::is_ascii_octdigit` -- fixtures/reject/src/lib.rs:1621:13: unsupported call to `core::str::::as_bytes_mut` -- fixtures/reject/src/lib.rs:1695:3: unsupported call to `std::ptr::copy::<[u8; 4]>` -- fixtures/reject/src/lib.rs:1696:3: unsupported call to `std::ptr::copy_nonoverlapping::<[u8; 4]>` -- fixtures/reject/src/lib.rs:1697:14: unsupported call to `std::ptr::addr_eq::<[u8; 4], [u8; 4]>` -- fixtures/reject/src/lib.rs:1698:56: unsupported call to `std::ptr::mut_ptr::::add` -- fixtures/reject/src/lib.rs:1698:73: unsupported call to `std::ptr::const_ptr::::offset` -- fixtures/reject/src/lib.rs:1702:58: unsupported call to `std::ptr::const_ptr::::len` -- fixtures/reject/src/lib.rs:2159:2: unsupported call to `std::mem::size_of_val::` +- fixtures/reject/src/lib.rs:516:2: unsupported call to `::eq` +- fixtures/reject/src/lib.rs:516:17: unsupported call to `std::any::TypeId::of::` +- fixtures/reject/src/lib.rs:543:15: unsupported call to `std::alloc::Layout::new::` +- fixtures/reject/src/lib.rs:545:11: unsupported call to `std::alloc::alloc` +- fixtures/reject/src/lib.rs:548:3: unsupported call to `std::alloc::dealloc` +- fixtures/reject/src/lib.rs:744:15: unsupported call to ` as std::iter::Iterator>::is_sorted` +- fixtures/reject/src/lib.rs:962:11: unsupported call to `std::ops::RangeTo::::contains::` +- fixtures/reject/src/lib.rs:962:32: unsupported call to ` as std::ops::RangeBounds>::contains::` +- fixtures/reject/src/lib.rs:967:9: unsupported call to `std::ops::Range::<&mut u8>::is_empty` +- fixtures/reject/src/lib.rs:1255:4: unsupported call to `core::num::::is_ascii_octdigit` +- fixtures/reject/src/lib.rs:1614:13: unsupported call to `core::str::::as_bytes_mut` +- fixtures/reject/src/lib.rs:1688:3: unsupported call to `std::ptr::copy::<[u8; 4]>` +- fixtures/reject/src/lib.rs:1689:3: unsupported call to `std::ptr::copy_nonoverlapping::<[u8; 4]>` +- fixtures/reject/src/lib.rs:1690:14: unsupported call to `std::ptr::addr_eq::<[u8; 4], [u8; 4]>` +- fixtures/reject/src/lib.rs:1691:56: unsupported call to `std::ptr::mut_ptr::::add` +- fixtures/reject/src/lib.rs:1691:73: unsupported call to `std::ptr::const_ptr::::offset` +- fixtures/reject/src/lib.rs:1695:58: unsupported call to `std::ptr::const_ptr::::len` +- fixtures/reject/src/lib.rs:2152:2: unsupported call to `std::mem::size_of_val::`
a raw pointer to `_` in a variable assigned again while it may point there (22) -- fixtures/reject/src/lib.rs:601:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:609:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:618:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:626:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:635:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:643:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:681:15: a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:694:15: a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:986:26: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:999:22: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1009:12: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1018:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1028:17: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1033:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1654:10: a raw pointer to `Target` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1667:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1682:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1718:26: a raw pointer to `[u8; 4]` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1719:10: a raw pointer to `[u8; 4]` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:2165:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:2173:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:2181:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:594:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:602:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:611:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:619:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:628:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:636:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:674:15: a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:687:15: a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:979:26: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:992:22: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1002:12: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1011:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1021:17: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1026:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1647:10: a raw pointer to `Target` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1660:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1675:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1711:26: a raw pointer to `[u8; 4]` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1712:10: a raw pointer to `[u8; 4]` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:2158:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:2166:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:2174:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there
a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of (15) -- fixtures/reject/src/lib.rs:1322:33: a reference through which a raw pointer may be made into `InArray` in `[InArray; 2]`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1331:33: a reference through which a raw pointer may be made into `InTuple` in `(u16, InTuple)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1340:34: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1361:33: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1374:35: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1383:35: a reference through which a raw pointer may be made into `InWritten` in `[InWritten; 1]`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1942:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Replaced`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1960:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Swapped`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1978:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Taken`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1997:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Assigned`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2023:22: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Deeper`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2047:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Dynamic`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2063:15: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Closed`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2076:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `[std::cell::UnsafeCell; 2]`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2122:20: a reference through which a raw pointer may be made into `Parked` in `Parking`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1315:33: a reference through which a raw pointer may be made into `InArray` in `[InArray; 2]`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1324:33: a reference through which a raw pointer may be made into `InTuple` in `(u16, InTuple)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1333:34: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1354:33: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1367:35: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1376:35: a reference through which a raw pointer may be made into `InWritten` in `[InWritten; 1]`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1935:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Replaced`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1953:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Swapped`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1971:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Taken`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1990:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Assigned`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2016:22: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Deeper`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2040:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Dynamic`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2056:15: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Closed`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2069:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `[std::cell::UnsafeCell; 2]`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2115:20: a reference through which a raw pointer may be made into `Parked` in `Parking`, which the crate may put another object in place of
a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there (15) -- fixtures/reject/src/lib.rs:1640:18: a reference to `std::cell::UnsafeCell`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1718:26: a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1736:22: a reference to `Behind`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1751:16: a reference to `Unboxed`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1772:18: a reference to `Deep`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1794:21: a reference to `Slotted`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1813:20: a reference to `Shared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1830:20: a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1843:26: a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1858:22: a reference to `Compared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1875:22: a reference to `Enclosing`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1891:17: a reference to `Chosen`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1904:19: a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1919:21: a reference to `Wrapped>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:2093:13: a reference to `std::option::Option>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1633:18: a reference to `std::cell::UnsafeCell`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1711:26: a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1729:22: a reference to `Behind`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1744:16: a reference to `Unboxed`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1765:18: a reference to `Deep`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1787:21: a reference to `Slotted`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1806:20: a reference to `Shared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1823:20: a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1836:26: a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1851:22: a reference to `Compared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1868:22: a reference to `Enclosing`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1884:17: a reference to `Chosen`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1897:19: a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1912:21: a reference to `Wrapped>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:2086:13: a reference to `std::option::Option>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there
`_` with a mutable reference to a value JS copies, which its mapping would copy (5) -- fixtures/reject/src/lib.rs:1220:22: `std::iter::once` with a mutable reference to a value JS copies, which its mapping would copy -- fixtures/reject/src/lib.rs:1622:13: `core::str::::get_unchecked_mut` with a mutable reference to a value JS copies, which its mapping would copy -- fixtures/reject/src/lib.rs:1627:20: `std::str::from_utf8_mut` with a mutable reference to a value JS copies, which its mapping would copy -- fixtures/reject/src/lib.rs:2102:4: `std::collections::LinkedList::::retain` with a mutable reference to a value JS copies, which its mapping would copy -- fixtures/reject/src/lib.rs:2104:2: `std::default::Default::default` with a mutable reference to a value JS copies, which its mapping would copy +- fixtures/reject/src/lib.rs:1213:22: `std::iter::once` with a mutable reference to a value JS copies, which its mapping would copy +- fixtures/reject/src/lib.rs:1615:13: `core::str::::get_unchecked_mut` with a mutable reference to a value JS copies, which its mapping would copy +- fixtures/reject/src/lib.rs:1620:20: `std::str::from_utf8_mut` with a mutable reference to a value JS copies, which its mapping would copy +- fixtures/reject/src/lib.rs:2095:4: `std::collections::LinkedList::::retain` with a mutable reference to a value JS copies, which its mapping would copy +- fixtures/reject/src/lib.rs:2097:2: `std::default::Default::default` with a mutable reference to a value JS copies, which its mapping would copy
a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet (5) -- fixtures/reject/src/lib.rs:664:10: a raw pointer to `(u32, u32)` in an element, a payload, or a union field, which is not supported yet -- fixtures/reject/src/lib.rs:1711:15: a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet -- fixtures/reject/src/lib.rs:1711:18: a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet -- fixtures/reject/src/lib.rs:1711:37: a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet -- fixtures/reject/src/lib.rs:1711:44: a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:657:10: a raw pointer to `(u32, u32)` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:1704:15: a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:1704:18: a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:1704:37: a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:1704:44: a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet
@@ -624,7 +622,7 @@ The type or module each refused type or path belongs to. - fixtures/reject/src/lib.rs:83:2: an assignment through a reference to `std::sync::MutexGuard<'_, u8>` - fixtures/reject/src/lib.rs:107:2: an assignment through a reference to `std::pin::Pin>>` - fixtures/reject/src/lib.rs:214:2: an assignment through a reference to `std::pin::Pin<&mut Noisy>` -- fixtures/reject/src/lib.rs:2196:2: an assignment through a reference to `std::sync::LazyLock` +- fixtures/reject/src/lib.rs:2189:2: an assignment through a reference to `std::sync::LazyLock` @@ -632,23 +630,23 @@ The type or module each refused type or path belongs to. - fixtures/reject/src/lib.rs:21:4: `slice::fill` of `Reused`, whose `clone_from` is its own, which is not supported yet - fixtures/reject/src/lib.rs:271:4: `slice::clone_from_slice` of `Reused`, whose `clone_from` is its own, which is not supported yet -- fixtures/reject/src/lib.rs:2154:4: `Clone::clone_from` of `std::vec::Vec`, whose `clone_from` is its own, which is not supported yet +- fixtures/reject/src/lib.rs:2147:4: `Clone::clone_from` of `std::vec::Vec`, whose `clone_from` is its own, which is not supported yet
a copy of a closure that changes what it captured (3) - fixtures/reject/src/lib.rs:224:14: a copy of a closure that changes what it captured -- fixtures/reject/src/lib.rs:499:14: a copy of a closure that changes what it captured -- fixtures/reject/src/lib.rs:500:14: a copy of a closure that changes what it captured +- fixtures/reject/src/lib.rs:492:14: a copy of a closure that changes what it captured +- fixtures/reject/src/lib.rs:493:14: a copy of a closure that changes what it captured
a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there (3) -- fixtures/reject/src/lib.rs:2149:2: a slice or a cell of a mutable reference to `Reused` that names no place, which a whole write would replace only there -- fixtures/reject/src/lib.rs:2191:3: a slice or a cell of a mutable reference to `std::cell::LazyCell` that names no place, which a whole write would replace only there -- fixtures/reject/src/lib.rs:2202:2: a slice or a cell of a mutable reference to `std::thread::LocalKey` that names no place, which a whole write would replace only there +- fixtures/reject/src/lib.rs:2142:2: a slice or a cell of a mutable reference to `Reused` that names no place, which a whole write would replace only there +- fixtures/reject/src/lib.rs:2184:3: a slice or a cell of a mutable reference to `std::cell::LazyCell` that names no place, which a whole write would replace only there +- fixtures/reject/src/lib.rs:2195:2: a slice or a cell of a mutable reference to `std::thread::LocalKey` that names no place, which a whole write would replace only there
@@ -691,29 +689,22 @@ The type or module each refused type or path belongs to.
`_`, a trait object of the generic trait `_`, which is not supported yet (2) -- fixtures/reject/src/lib.rs:449:23: `dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet -- fixtures/reject/src/lib.rs:450:4: `dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet +- fixtures/reject/src/lib.rs:442:23: `dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet +- fixtures/reject/src/lib.rs:443:4: `dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet
a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another (2) -- fixtures/reject/src/lib.rs:540:27: a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another -- fixtures/reject/src/lib.rs:1698:17: a cast from a pointer to `[u8; 4]` to one to `u8`, which reads the bytes of one type as another - -
- -
a coercion to `_`, which is not supported yet (2) - -- fixtures/reject/src/lib.rs:440:40: a coercion to `std::sync::Weak`, which is not supported yet -- fixtures/reject/src/lib.rs:476:30: a coercion to `&Tail`, which is not supported yet +- fixtures/reject/src/lib.rs:533:27: a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:1691:17: a cast from a pointer to `[u8; 4]` to one to `u8`, which reads the bytes of one type as another
a raw pointer to a place of `()`, which has no address of its own (2) -- fixtures/reject/src/lib.rs:713:15: a raw pointer to a place of `()`, which has no address of its own -- fixtures/reject/src/lib.rs:713:29: a raw pointer to a place of `()`, which has no address of its own +- fixtures/reject/src/lib.rs:706:15: a raw pointer to a place of `()`, which has no address of its own +- fixtures/reject/src/lib.rs:706:29: a raw pointer to a place of `()`, which has no address of its own
@@ -726,8 +717,8 @@ The type or module each refused type or path belongs to.
comparing pointers to `_`, each a place JS makes of its own (2) -- fixtures/reject/src/lib.rs:581:2: comparing pointers to `u32`, each a place JS makes of its own -- fixtures/reject/src/lib.rs:2130:2: comparing pointers to `u32`, each a place JS makes of its own +- fixtures/reject/src/lib.rs:574:2: comparing pointers to `u32`, each a place JS makes of its own +- fixtures/reject/src/lib.rs:2123:2: comparing pointers to `u32`, each a place JS makes of its own
@@ -741,7 +732,7 @@ The type or module each refused type or path belongs to.
passing `_`, which drops, to `_`, which is not supported yet (2) - fixtures/reject/src/lib.rs:311:4: passing `{closure@fixtures/reject/src/lib.rs:311:13: 311:27}`, which drops, to `str::contains`, which is not supported yet -- fixtures/reject/src/lib.rs:769:4: passing `{closure@fixtures/reject/src/lib.rs:769:11: 769:19}`, which drops, to `String::retain`, which is not supported yet +- fixtures/reject/src/lib.rs:762:4: passing `{closure@fixtures/reject/src/lib.rs:762:11: 762:19}`, which drops, to `String::retain`, which is not supported yet
@@ -754,7 +745,7 @@ The type or module each refused type or path belongs to.
`Buf::copy_to_bytes` of `_`, a value JS copies, which is not supported (1) -- fixtures/reject/src/lib.rs:746:2: `Buf::copy_to_bytes` of `Blank`, a value JS copies, which is not supported +- fixtures/reject/src/lib.rs:739:2: `Buf::copy_to_bytes` of `Blank`, a value JS copies, which is not supported
@@ -778,7 +769,7 @@ The type or module each refused type or path belongs to.
`Extend` of `_` by `_`, whose `_` of `_` is not supported yet (1) -- fixtures/reject/src/lib.rs:1257:31: `Extend` of `(std::vec::Vec, Tens)` by `(u8, u8)`, whose `Tens` of `u8` is not supported yet +- fixtures/reject/src/lib.rs:1250:31: `Extend` of `(std::vec::Vec, Tens)` by `(u8, u8)`, whose `Tens` of `u8` is not supported yet
@@ -802,7 +793,7 @@ The type or module each refused type or path belongs to.
`_` is not supported: its field `_` is `_`, typed `_`, whose `Pending` would be `rt.OuterPending` as `_` (1) -- fixtures/reject/src/lib.rs:487:2: `Waiting>` is not supported: its field `poll` is `Poll`, typed `rt.Poll`, whose `Pending` would be `rt.OuterPending` as `Poll>` +- fixtures/reject/src/lib.rs:480:2: `Waiting>` is not supported: its field `poll` is `Poll`, typed `rt.Poll`, whose `Pending` would be `rt.OuterPending` as `Poll>`
@@ -814,7 +805,7 @@ The type or module each refused type or path belongs to.
`_` of `_`, which is not supported yet (1) -- fixtures/reject/src/lib.rs:523:4: `std::any::Any::type_id` of `dyn std::any::Any`, which is not supported yet +- fixtures/reject/src/lib.rs:516:4: `std::any::Any::type_id` of `dyn std::any::Any`, which is not supported yet
@@ -826,13 +817,13 @@ The type or module each refused type or path belongs to.
`clone_from` of `_`, whose items' `clone_from` is their own, which is not supported yet (1) -- fixtures/reject/src/lib.rs:2103:4: `clone_from` of `std::collections::LinkedList`, whose items' `clone_from` is their own, which is not supported yet +- fixtures/reject/src/lib.rs:2096:4: `clone_from` of `std::collections::LinkedList`, whose items' `clone_from` is their own, which is not supported yet
`collect` of `_`, which sorts by `_`'s own `Ord`, of entries that drop, which is not supported yet (1) -- fixtures/reject/src/lib.rs:940:22: `collect` of `std::collections::BTreeMap, Noisy>`, which sorts by `std::cell::Cell`'s own `Ord`, of entries that drop, which is not supported yet +- fixtures/reject/src/lib.rs:933:22: `collect` of `std::collections::BTreeMap, Noisy>`, which sorts by `std::cell::Cell`'s own `Ord`, of entries that drop, which is not supported yet
@@ -862,13 +853,13 @@ The type or module each refused type or path belongs to.
a cast from `_` to `_`, which reads the bytes of one type as another (1) -- fixtures/reject/src/lib.rs:1698:33: a cast from `*const [u8; 4]` to `*const u8`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:1691:33: a cast from `*const [u8; 4]` to `*const u8`, which reads the bytes of one type as another
a coercion of `_` to `_`, a pointer to a slice (1) -- fixtures/reject/src/lib.rs:1699:28: a coercion of `*const [u8; 4]` to `*const [u8]`, a pointer to a slice +- fixtures/reject/src/lib.rs:1692:28: a coercion of `*const [u8; 4]` to `*const [u8]`, a pointer to a slice
@@ -878,15 +869,21 @@ The type or module each refused type or path belongs to. +
a coercion to `_`, which is not supported yet (1) + +- fixtures/reject/src/lib.rs:469:30: a coercion to `&Tail`, which is not supported yet + +
+
a constant of type `_`, a pointer into memory translation can't name (1) -- fixtures/reject/src/lib.rs:763:3: a constant of type `&u32`, a pointer into memory translation can't name +- fixtures/reject/src/lib.rs:756:3: a constant of type `&u32`, a pointer into memory translation can't name
a dangling pointer to `_`, a value of no bytes made of more than structs and tuples (1) -- fixtures/reject/src/lib.rs:722:11: a dangling pointer to `Only`, a value of no bytes made of more than structs and tuples +- fixtures/reject/src/lib.rs:715:11: a dangling pointer to `Only`, a value of no bytes made of more than structs and tuples
@@ -898,7 +895,7 @@ The type or module each refused type or path belongs to.
a mapped guard of `_`, which JS can't write in place (1) -- fixtures/reject/src/lib.rs:2137:10: a mapped guard of `{closure@fixtures/reject/src/lib.rs:2136:38: 2136:50}`, which JS can't write in place +- fixtures/reject/src/lib.rs:2130:10: a mapped guard of `{closure@fixtures/reject/src/lib.rs:2129:38: 2129:50}`, which JS can't write in place
@@ -916,7 +913,7 @@ The type or module each refused type or path belongs to.
a pointer's address, which JS has no counterpart of (1) -- fixtures/reject/src/lib.rs:545:17: a pointer's address, which JS has no counterpart of +- fixtures/reject/src/lib.rs:538:17: a pointer's address, which JS has no counterpart of
@@ -928,13 +925,13 @@ The type or module each refused type or path belongs to.
a raw pointer to `_` behind a reference, which is the object and not where it is kept (1) -- fixtures/reject/src/lib.rs:562:10: a raw pointer to `std::vec::Vec` behind a reference, which is the object and not where it is kept +- fixtures/reject/src/lib.rs:555:10: a raw pointer to `std::vec::Vec` behind a reference, which is the object and not where it is kept
a reference through which a raw pointer may be made into `_` in an element, a payload, or a union field, which is not supported yet (1) -- fixtures/reject/src/lib.rs:1349:11: a reference through which a raw pointer may be made into `InPayload` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:1342:11: a reference through which a raw pointer may be made into `InPayload` in an element, a payload, or a union field, which is not supported yet
@@ -946,19 +943,19 @@ The type or module each refused type or path belongs to.
a slice of one byte's place, which a byte slice can view only in an array of bytes (1) -- fixtures/reject/src/lib.rs:2143:2: a slice of one byte's place, which a byte slice can view only in an array of bytes +- fixtures/reject/src/lib.rs:2136:2: a slice of one byte's place, which a byte slice can view only in an array of bytes
a trait object of `_`, which is not supported yet (1) -- fixtures/reject/src/lib.rs:466:26: a trait object of `[u8; 4]`, which is not supported yet +- fixtures/reject/src/lib.rs:459:26: a trait object of `[u8; 4]`, which is not supported yet
an upcast from `_` to `_`, which is not supported yet (1) -- fixtures/reject/src/lib.rs:517:32: an upcast from `dyn Keyed` to `dyn std::any::Any`, which is not supported yet +- fixtures/reject/src/lib.rs:510:32: an upcast from `dyn Keyed` to `dyn std::any::Any`, which is not supported yet
@@ -970,7 +967,7 @@ The type or module each refused type or path belongs to.
comparing `_` (1) -- fixtures/reject/src/lib.rs:1697:41: comparing `*mut [u8; 4]` +- fixtures/reject/src/lib.rs:1690:41: comparing `*mut [u8; 4]`
@@ -982,19 +979,19 @@ The type or module each refused type or path belongs to.
comparing pointers to `_` in an atomic, which JS has no address of (1) -- fixtures/reject/src/lib.rs:762:15: comparing pointers to `u32` in an atomic, which JS has no address of +- fixtures/reject/src/lib.rs:755:15: comparing pointers to `u32` in an atomic, which JS has no address of
comparing pointers to `_`, which has no bytes and so no address of its own (1) -- fixtures/reject/src/lib.rs:713:70: comparing pointers to `Fused`, which has no bytes and so no address of its own +- fixtures/reject/src/lib.rs:706:70: comparing pointers to `Fused`, which has no bytes and so no address of its own
const generic types are not supported: `_` (1) -- fixtures/reject/src/lib.rs:2082:1: const generic types are not supported: `Block` +- fixtures/reject/src/lib.rs:2075:1: const generic types are not supported: `Block`
@@ -1012,7 +1009,7 @@ The type or module each refused type or path belongs to.
hashing `_` by its address, which JS has no counterpart of (1) -- fixtures/reject/src/lib.rs:1701:5: hashing `*const [u8; 4]` by its address, which JS has no counterpart of +- fixtures/reject/src/lib.rs:1694:5: hashing `*const [u8; 4]` by its address, which JS has no counterpart of
@@ -1030,6 +1027,6 @@ The type or module each refused type or path belongs to.
union `_`, whose fields overlap in `_` and `f64`, which JS keeps apart (1) -- fixtures/reject/src/lib.rs:567:1: union `Bits`, whose fields overlap in `u32` and `f64`, which JS keeps apart +- fixtures/reject/src/lib.rs:560:1: union `Bits`, whose fields overlap in `u32` and `f64`, which JS keeps apart
diff --git a/ts/fixtures/reject/expected.txt b/ts/fixtures/reject/expected.txt index 0f6dd7a56..31f89f55a 100644 --- a/ts/fixtures/reject/expected.txt +++ b/ts/fixtures/reject/expected.txt @@ -25,9 +25,9 @@ replacing the value behind a reference to `std::pin::Pin>>` at fixtures/reject/src/lib.rs:107:2 replacing the value behind a reference to `std::pin::Pin>` at fixtures/reject/src/lib.rs:99:2 unsupported call to `std::ops::Range::::contains::` at fixtures/reject/src/lib.rs:160:8 -unsupported call to `std::ops::RangeTo::::contains::` at fixtures/reject/src/lib.rs:969:11 -unsupported call to ` as std::ops::RangeBounds>::contains::` at fixtures/reject/src/lib.rs:969:32 -unsupported call to `std::ops::Range::<&mut u8>::is_empty` at fixtures/reject/src/lib.rs:974:9 +unsupported call to `std::ops::RangeTo::::contains::` at fixtures/reject/src/lib.rs:962:11 +unsupported call to ` as std::ops::RangeBounds>::contains::` at fixtures/reject/src/lib.rs:962:32 +unsupported call to `std::ops::Range::<&mut u8>::is_empty` at fixtures/reject/src/lib.rs:967:9 a `skip` of `std::iter::Zip, {closure@fixtures/reject/src/lib.rs:201:27: 201:31}>, std::iter::Map, {closure@fixtures/reject/src/lib.rs:201:59: 201:63}>>`, a zip std reads by index, of items that drop, which is not supported yet at fixtures/reject/src/lib.rs:202:8 a `collect` in place of `std::iter::Map, {closure@fixtures/reject/src/lib.rs:208:32: 208:40}>, std::ops::Range>, {closure@fixtures/reject/src/lib.rs:209:24: 209:32}>`, a zip std reads by index, holding values that drop, which is not supported yet at fixtures/reject/src/lib.rs:209:40 an assignment through a reference to `std::pin::Pin<&mut Noisy>` at fixtures/reject/src/lib.rs:214:2 @@ -58,173 +58,172 @@ unsupported call to ` as std::cmp::PartialEq>::eq` unsupported call to `core::str::::parse::` at fixtures/reject/src/lib.rs:424:4 unsupported type `std::net::Ipv4Addr` from another crate at fixtures/reject/src/lib.rs:423:32 unsupported type `std::net::AddrParseError` from another crate at fixtures/reject/src/lib.rs:423:32 -a coercion to `std::sync::Weak`, which is not supported yet at fixtures/reject/src/lib.rs:440:40 -`dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet at fixtures/reject/src/lib.rs:449:23 -`dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet at fixtures/reject/src/lib.rs:450:4 -a trait object of `[u8; 4]`, which is not supported yet at fixtures/reject/src/lib.rs:466:26 -a coercion to `&Tail`, which is not supported yet at fixtures/reject/src/lib.rs:476:30 -`Waiting>` is not supported: its field `poll` is `Poll`, typed `rt.Poll`, whose `Pending` would be `rt.OuterPending` as `Poll>` at fixtures/reject/src/lib.rs:487:2 -a copy of a closure that changes what it captured at fixtures/reject/src/lib.rs:499:14 -a copy of a closure that changes what it captured at fixtures/reject/src/lib.rs:500:14 -an upcast from `dyn Keyed` to `dyn std::any::Any`, which is not supported yet at fixtures/reject/src/lib.rs:517:32 -`std::any::Any::type_id` of `dyn std::any::Any`, which is not supported yet at fixtures/reject/src/lib.rs:523:4 -unsupported call to `std::any::TypeId::of::` at fixtures/reject/src/lib.rs:523:17 -unsupported call to `::eq` at fixtures/reject/src/lib.rs:523:2 -a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:540:27 -a pointer's address, which JS has no counterpart of at fixtures/reject/src/lib.rs:545:17 -unsupported call to `std::alloc::Layout::new::` at fixtures/reject/src/lib.rs:550:15 -unsupported call to `std::alloc::alloc` at fixtures/reject/src/lib.rs:552:11 -unsupported call to `std::alloc::dealloc` at fixtures/reject/src/lib.rs:555:3 -a raw pointer to `std::vec::Vec` behind a reference, which is the object and not where it is kept at fixtures/reject/src/lib.rs:562:10 -union `Bits`, whose fields overlap in `u32` and `f64`, which JS keeps apart at fixtures/reject/src/lib.rs:573:10 -comparing pointers to `u32`, each a place JS makes of its own at fixtures/reject/src/lib.rs:581:2 -comparing pointers to `u32`, each a place JS makes of its own at fixtures/reject/src/lib.rs:2130:2 -a raw pointer to `(u32, u32)` in `Span2`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:593:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:601:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:609:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:618:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:626:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:635:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:643:10 -a reference to `std::cell::UnsafeCell`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1640:18 -a raw pointer to `Target` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1654:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1667:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1682:10 -a reference to `Behind`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1736:22 -a reference to `Unboxed`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1751:16 -a reference to `Deep`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1772:18 -a reference to `Slotted`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1794:21 -a reference to `Shared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1813:20 -a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1830:20 -a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1843:26 -a reference to `Wrapped>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1919:21 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Replaced`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1942:20 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Swapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1960:20 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Taken`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1978:20 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Assigned`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1997:20 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Deeper`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2023:22 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Dynamic`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2047:20 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Closed`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2063:15 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `[std::cell::UnsafeCell; 2]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2076:20 -a reference to `Compared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1858:22 -a reference to `Enclosing`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1875:22 -a reference to `Chosen`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1891:17 -a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1904:19 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:986:26 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:999:22 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1009:12 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1018:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1028:17 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1033:10 -a raw pointer to `(u32, u32)` in `Window`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:654:2 -a raw pointer to `(u32, u32)` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:664:10 -a raw pointer to `(u32, u32)` in `std::cell::UnsafeCell<(u32, u32)>`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:672:15 -a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:681:15 -a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:694:15 -a raw pointer to `std::cell::UnsafeCell` in `Hits`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:705:21 -a raw pointer to a place of `()`, which has no address of its own at fixtures/reject/src/lib.rs:713:15 -a raw pointer to a place of `()`, which has no address of its own at fixtures/reject/src/lib.rs:713:29 -comparing pointers to `Fused`, which has no bytes and so no address of its own at fixtures/reject/src/lib.rs:713:70 -a dangling pointer to `Only`, a value of no bytes made of more than structs and tuples at fixtures/reject/src/lib.rs:722:11 -`Buf::copy_to_bytes` of `Blank`, a value JS copies, which is not supported at fixtures/reject/src/lib.rs:746:2 -unsupported call to ` as std::iter::Iterator>::is_sorted` at fixtures/reject/src/lib.rs:751:15 -comparing pointers to `u32` in an atomic, which JS has no address of at fixtures/reject/src/lib.rs:762:15 -a constant of type `&u32`, a pointer into memory translation can't name at fixtures/reject/src/lib.rs:763:3 -passing `{closure@fixtures/reject/src/lib.rs:769:11: 769:19}`, which drops, to `String::retain`, which is not supported yet at fixtures/reject/src/lib.rs:769:4 -a raw pointer to `(u32, u32)` in `Plain`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:811:10 -a raw pointer to `(u32, u32)` in `Track`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:837:19 -a raw pointer to `(u32, u32)` in `Lane`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:857:19 -a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:893:10 -a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:894:10 -a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:895:58 -a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:907:19 -a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:908:19 -`collect` of `std::collections::BTreeMap, Noisy>`, which sorts by `std::cell::Cell`'s own `Ord`, of entries that drop, which is not supported yet at fixtures/reject/src/lib.rs:940:22 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Looped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1095:26 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Aliased`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1105:29 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Rewritten`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1115:47 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Loaded`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1127:29 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Mapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1172:39 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Repeated`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1206:18 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Onced`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1218:46 -`std::iter::once` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1220:22 -a raw pointer to `(u16, u16)` in `Pushed`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1233:22 -`Extend` of `(std::vec::Vec, Tens)` by `(u8, u8)`, whose `Tens` of `u8` is not supported yet at fixtures/reject/src/lib.rs:1257:31 -unsupported call to `core::num::::is_ascii_octdigit` at fixtures/reject/src/lib.rs:1262:4 -a reference through which a raw pointer may be made into `InArray` in `[InArray; 2]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1322:33 -a reference through which a raw pointer may be made into `InTuple` in `(u16, InTuple)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1331:33 -a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1340:34 -a reference through which a raw pointer may be made into `InPayload` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1349:11 -a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1361:33 -a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1374:35 -a reference through which a raw pointer may be made into `InWritten` in `[InWritten; 1]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1383:35 -a raw pointer to `std::cell::UnsafeCell` in `ByRead`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1440:35 -a raw pointer to `std::cell::UnsafeCell` in `ByWrite`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1453:35 -a raw pointer to `std::cell::UnsafeCell` in `BySwap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1466:35 -a raw pointer to `std::cell::UnsafeCell` in `ByReplace`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1478:35 -a raw pointer to `std::cell::UnsafeCell` in `ByBox`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1489:35 -a raw pointer to `std::cell::UnsafeCell` in `ByClosure`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1504:35 -a raw pointer to `std::cell::UnsafeCell` in `ByObject`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1517:35 -a raw pointer to `std::cell::UnsafeCell` in `ByInstance`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1530:35 -a raw pointer to `std::cell::UnsafeCell` in `BySwapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1539:76 -a raw pointer to `std::cell::UnsafeCell` in `ByExchanged`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1550:30 -a raw pointer to `ByRefReplace` in `(u16, ByRefReplace)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1582:32 -a raw pointer to `ByRefTake` in `(u16, ByRefTake)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1590:32 -a raw pointer to `ByKeySet` in `(u16, ByKeySet)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1598:51 -a raw pointer to `ByKeyReplace` in `(u16, ByKeyReplace)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1606:55 -a raw pointer to `ByKeyTake` in `(u16, ByKeyTake)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1613:52 -unsupported call to `core::str::::as_bytes_mut` at fixtures/reject/src/lib.rs:1621:13 -`core::str::::get_unchecked_mut` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1622:13 -`std::str::from_utf8_mut` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1627:20 -unsupported call to `std::ptr::copy::<[u8; 4]>` at fixtures/reject/src/lib.rs:1695:3 -unsupported call to `std::ptr::copy_nonoverlapping::<[u8; 4]>` at fixtures/reject/src/lib.rs:1696:3 -unsupported call to `std::ptr::addr_eq::<[u8; 4], [u8; 4]>` at fixtures/reject/src/lib.rs:1697:14 -comparing `*mut [u8; 4]` at fixtures/reject/src/lib.rs:1697:41 -a cast from a pointer to `[u8; 4]` to one to `u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:1698:17 -a cast from `*const [u8; 4]` to `*const u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:1698:33 -unsupported call to `std::ptr::mut_ptr::::add` at fixtures/reject/src/lib.rs:1698:56 -unsupported call to `std::ptr::const_ptr::::offset` at fixtures/reject/src/lib.rs:1698:73 -a coercion of `*const [u8; 4]` to `*const [u8]`, a pointer to a slice at fixtures/reject/src/lib.rs:1699:28 -hashing `*const [u8; 4]` by its address, which JS has no counterpart of at fixtures/reject/src/lib.rs:1701:5 -unsupported call to `std::ptr::const_ptr::::len` at fixtures/reject/src/lib.rs:1702:58 -a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1711:15 -a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1711:18 -a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1711:37 -a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1711:44 -a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1718:26 -a raw pointer to `[u8; 4]` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1718:26 -a raw pointer to `[u8; 4]` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1719:10 -const generic types are not supported: `Block` at fixtures/reject/src/lib.rs:2086:21 -`std::collections::LinkedList::::retain` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:2102:4 -`clone_from` of `std::collections::LinkedList`, whose items' `clone_from` is their own, which is not supported yet at fixtures/reject/src/lib.rs:2103:4 -`std::default::Default::default` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:2104:2 -a mapped guard of `{closure@fixtures/reject/src/lib.rs:2136:38: 2136:50}`, which JS can't write in place at fixtures/reject/src/lib.rs:2137:10 -a slice of one byte's place, which a byte slice can view only in an array of bytes at fixtures/reject/src/lib.rs:2143:2 -a slice or a cell of a mutable reference to `Reused` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2149:2 -`Clone::clone_from` of `std::vec::Vec`, whose `clone_from` is its own, which is not supported yet at fixtures/reject/src/lib.rs:2154:4 -unsupported call to `std::mem::size_of_val::` at fixtures/reject/src/lib.rs:2159:2 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2165:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2173:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2181:10 -a slice or a cell of a mutable reference to `std::cell::LazyCell` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2191:3 -an assignment through a reference to `std::sync::LazyLock` at fixtures/reject/src/lib.rs:2196:2 -a slice or a cell of a mutable reference to `std::thread::LocalKey` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2202:2 +`dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet at fixtures/reject/src/lib.rs:442:23 +`dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet at fixtures/reject/src/lib.rs:443:4 +a trait object of `[u8; 4]`, which is not supported yet at fixtures/reject/src/lib.rs:459:26 +a coercion to `&Tail`, which is not supported yet at fixtures/reject/src/lib.rs:469:30 +`Waiting>` is not supported: its field `poll` is `Poll`, typed `rt.Poll`, whose `Pending` would be `rt.OuterPending` as `Poll>` at fixtures/reject/src/lib.rs:480:2 +a copy of a closure that changes what it captured at fixtures/reject/src/lib.rs:492:14 +a copy of a closure that changes what it captured at fixtures/reject/src/lib.rs:493:14 +an upcast from `dyn Keyed` to `dyn std::any::Any`, which is not supported yet at fixtures/reject/src/lib.rs:510:32 +`std::any::Any::type_id` of `dyn std::any::Any`, which is not supported yet at fixtures/reject/src/lib.rs:516:4 +unsupported call to `std::any::TypeId::of::` at fixtures/reject/src/lib.rs:516:17 +unsupported call to `::eq` at fixtures/reject/src/lib.rs:516:2 +a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:533:27 +a pointer's address, which JS has no counterpart of at fixtures/reject/src/lib.rs:538:17 +unsupported call to `std::alloc::Layout::new::` at fixtures/reject/src/lib.rs:543:15 +unsupported call to `std::alloc::alloc` at fixtures/reject/src/lib.rs:545:11 +unsupported call to `std::alloc::dealloc` at fixtures/reject/src/lib.rs:548:3 +a raw pointer to `std::vec::Vec` behind a reference, which is the object and not where it is kept at fixtures/reject/src/lib.rs:555:10 +union `Bits`, whose fields overlap in `u32` and `f64`, which JS keeps apart at fixtures/reject/src/lib.rs:566:10 +comparing pointers to `u32`, each a place JS makes of its own at fixtures/reject/src/lib.rs:574:2 +comparing pointers to `u32`, each a place JS makes of its own at fixtures/reject/src/lib.rs:2123:2 +a raw pointer to `(u32, u32)` in `Span2`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:586:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:594:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:602:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:611:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:619:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:628:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:636:10 +a reference to `std::cell::UnsafeCell`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1633:18 +a raw pointer to `Target` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1647:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1660:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1675:10 +a reference to `Behind`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1729:22 +a reference to `Unboxed`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1744:16 +a reference to `Deep`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1765:18 +a reference to `Slotted`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1787:21 +a reference to `Shared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1806:20 +a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1823:20 +a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1836:26 +a reference to `Wrapped>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1912:21 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Replaced`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1935:20 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Swapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1953:20 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Taken`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1971:20 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Assigned`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1990:20 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Deeper`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2016:22 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Dynamic`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2040:20 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Closed`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2056:15 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `[std::cell::UnsafeCell; 2]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2069:20 +a reference to `Compared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1851:22 +a reference to `Enclosing`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1868:22 +a reference to `Chosen`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1884:17 +a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1897:19 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:979:26 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:992:22 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1002:12 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1011:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1021:17 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1026:10 +a raw pointer to `(u32, u32)` in `Window`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:647:2 +a raw pointer to `(u32, u32)` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:657:10 +a raw pointer to `(u32, u32)` in `std::cell::UnsafeCell<(u32, u32)>`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:665:15 +a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:674:15 +a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:687:15 +a raw pointer to `std::cell::UnsafeCell` in `Hits`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:698:21 +a raw pointer to a place of `()`, which has no address of its own at fixtures/reject/src/lib.rs:706:15 +a raw pointer to a place of `()`, which has no address of its own at fixtures/reject/src/lib.rs:706:29 +comparing pointers to `Fused`, which has no bytes and so no address of its own at fixtures/reject/src/lib.rs:706:70 +a dangling pointer to `Only`, a value of no bytes made of more than structs and tuples at fixtures/reject/src/lib.rs:715:11 +`Buf::copy_to_bytes` of `Blank`, a value JS copies, which is not supported at fixtures/reject/src/lib.rs:739:2 +unsupported call to ` as std::iter::Iterator>::is_sorted` at fixtures/reject/src/lib.rs:744:15 +comparing pointers to `u32` in an atomic, which JS has no address of at fixtures/reject/src/lib.rs:755:15 +a constant of type `&u32`, a pointer into memory translation can't name at fixtures/reject/src/lib.rs:756:3 +passing `{closure@fixtures/reject/src/lib.rs:762:11: 762:19}`, which drops, to `String::retain`, which is not supported yet at fixtures/reject/src/lib.rs:762:4 +a raw pointer to `(u32, u32)` in `Plain`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:804:10 +a raw pointer to `(u32, u32)` in `Track`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:830:19 +a raw pointer to `(u32, u32)` in `Lane`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:850:19 +a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:886:10 +a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:887:10 +a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:888:58 +a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:900:19 +a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:901:19 +`collect` of `std::collections::BTreeMap, Noisy>`, which sorts by `std::cell::Cell`'s own `Ord`, of entries that drop, which is not supported yet at fixtures/reject/src/lib.rs:933:22 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Looped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1088:26 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Aliased`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1098:29 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Rewritten`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1108:47 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Loaded`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1120:29 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Mapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1165:39 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Repeated`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1199:18 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Onced`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1211:46 +`std::iter::once` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1213:22 +a raw pointer to `(u16, u16)` in `Pushed`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1226:22 +`Extend` of `(std::vec::Vec, Tens)` by `(u8, u8)`, whose `Tens` of `u8` is not supported yet at fixtures/reject/src/lib.rs:1250:31 +unsupported call to `core::num::::is_ascii_octdigit` at fixtures/reject/src/lib.rs:1255:4 +a reference through which a raw pointer may be made into `InArray` in `[InArray; 2]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1315:33 +a reference through which a raw pointer may be made into `InTuple` in `(u16, InTuple)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1324:33 +a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1333:34 +a reference through which a raw pointer may be made into `InPayload` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1342:11 +a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1354:33 +a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1367:35 +a reference through which a raw pointer may be made into `InWritten` in `[InWritten; 1]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1376:35 +a raw pointer to `std::cell::UnsafeCell` in `ByRead`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1433:35 +a raw pointer to `std::cell::UnsafeCell` in `ByWrite`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1446:35 +a raw pointer to `std::cell::UnsafeCell` in `BySwap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1459:35 +a raw pointer to `std::cell::UnsafeCell` in `ByReplace`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1471:35 +a raw pointer to `std::cell::UnsafeCell` in `ByBox`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1482:35 +a raw pointer to `std::cell::UnsafeCell` in `ByClosure`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1497:35 +a raw pointer to `std::cell::UnsafeCell` in `ByObject`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1510:35 +a raw pointer to `std::cell::UnsafeCell` in `ByInstance`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1523:35 +a raw pointer to `std::cell::UnsafeCell` in `BySwapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1532:76 +a raw pointer to `std::cell::UnsafeCell` in `ByExchanged`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1543:30 +a raw pointer to `ByRefReplace` in `(u16, ByRefReplace)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1575:32 +a raw pointer to `ByRefTake` in `(u16, ByRefTake)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1583:32 +a raw pointer to `ByKeySet` in `(u16, ByKeySet)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1591:51 +a raw pointer to `ByKeyReplace` in `(u16, ByKeyReplace)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1599:55 +a raw pointer to `ByKeyTake` in `(u16, ByKeyTake)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1606:52 +unsupported call to `core::str::::as_bytes_mut` at fixtures/reject/src/lib.rs:1614:13 +`core::str::::get_unchecked_mut` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1615:13 +`std::str::from_utf8_mut` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1620:20 +unsupported call to `std::ptr::copy::<[u8; 4]>` at fixtures/reject/src/lib.rs:1688:3 +unsupported call to `std::ptr::copy_nonoverlapping::<[u8; 4]>` at fixtures/reject/src/lib.rs:1689:3 +unsupported call to `std::ptr::addr_eq::<[u8; 4], [u8; 4]>` at fixtures/reject/src/lib.rs:1690:14 +comparing `*mut [u8; 4]` at fixtures/reject/src/lib.rs:1690:41 +a cast from a pointer to `[u8; 4]` to one to `u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:1691:17 +a cast from `*const [u8; 4]` to `*const u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:1691:33 +unsupported call to `std::ptr::mut_ptr::::add` at fixtures/reject/src/lib.rs:1691:56 +unsupported call to `std::ptr::const_ptr::::offset` at fixtures/reject/src/lib.rs:1691:73 +a coercion of `*const [u8; 4]` to `*const [u8]`, a pointer to a slice at fixtures/reject/src/lib.rs:1692:28 +hashing `*const [u8; 4]` by its address, which JS has no counterpart of at fixtures/reject/src/lib.rs:1694:5 +unsupported call to `std::ptr::const_ptr::::len` at fixtures/reject/src/lib.rs:1695:58 +a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1704:15 +a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1704:18 +a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1704:37 +a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1704:44 +a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1711:26 +a raw pointer to `[u8; 4]` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1711:26 +a raw pointer to `[u8; 4]` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1712:10 +const generic types are not supported: `Block` at fixtures/reject/src/lib.rs:2079:21 +`std::collections::LinkedList::::retain` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:2095:4 +`clone_from` of `std::collections::LinkedList`, whose items' `clone_from` is their own, which is not supported yet at fixtures/reject/src/lib.rs:2096:4 +`std::default::Default::default` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:2097:2 +a mapped guard of `{closure@fixtures/reject/src/lib.rs:2129:38: 2129:50}`, which JS can't write in place at fixtures/reject/src/lib.rs:2130:10 +a slice of one byte's place, which a byte slice can view only in an array of bytes at fixtures/reject/src/lib.rs:2136:2 +a slice or a cell of a mutable reference to `Reused` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2142:2 +`Clone::clone_from` of `std::vec::Vec`, whose `clone_from` is its own, which is not supported yet at fixtures/reject/src/lib.rs:2147:4 +unsupported call to `std::mem::size_of_val::` at fixtures/reject/src/lib.rs:2152:2 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2158:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2166:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2174:10 +a slice or a cell of a mutable reference to `std::cell::LazyCell` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2184:3 +an assignment through a reference to `std::sync::LazyLock` at fixtures/reject/src/lib.rs:2189:2 +a slice or a cell of a mutable reference to `std::thread::LocalKey` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2195:2 overriding `Iterator::fold`, which std's adaptors call in place of `next` or beside it at fixtures/reject/src/lib.rs:125:2 an iterator of the crate implementing `DoubleEndedIterator`, which is not supported yet at fixtures/reject/src/lib.rs:145:1 overriding `Iterator::size_hint`, which std's adaptors call in place of `next` or beside it at fixtures/reject/src/lib.rs:173:2 an iterator of the crate implementing `FusedIterator`, which is not supported yet at fixtures/reject/src/lib.rs:193:1 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Escaped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1057:43 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Called`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1071:28 -a raw pointer to `(u16, u16)` in `Copied`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1161:31 -a raw pointer to `std::cell::UnsafeCell` in `InArray`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1287:9 -a raw pointer to `std::cell::UnsafeCell` in `InTuple`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1291:9 -a raw pointer to `std::cell::UnsafeCell` in `InNested`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1295:9 -a raw pointer to `std::cell::UnsafeCell` in `InPayload`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1299:9 -a raw pointer to `std::cell::UnsafeCell` in `InField`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1303:9 -a raw pointer to `std::cell::UnsafeCell` in `InGeneric`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1307:9 -a raw pointer to `std::cell::UnsafeCell` in `InWritten`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1311:9 -a reference to `std::option::Option>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:2093:13 -a raw pointer to `(u8, u8)` in `([Cloned; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2210:23 -a raw pointer to `(u8, u8)` in `(Dropped, (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2210:23 -a raw pointer to `(u8, u8)` in `([Greatest; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2266:13 -a raw pointer to `(u8, u8)` in `([Touched; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2210:23 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Escaped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1050:43 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Called`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1064:28 +a raw pointer to `(u16, u16)` in `Copied`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1154:31 +a raw pointer to `std::cell::UnsafeCell` in `InArray`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1280:9 +a raw pointer to `std::cell::UnsafeCell` in `InTuple`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1284:9 +a raw pointer to `std::cell::UnsafeCell` in `InNested`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1288:9 +a raw pointer to `std::cell::UnsafeCell` in `InPayload`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1292:9 +a raw pointer to `std::cell::UnsafeCell` in `InField`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1296:9 +a raw pointer to `std::cell::UnsafeCell` in `InGeneric`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1300:9 +a raw pointer to `std::cell::UnsafeCell` in `InWritten`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1304:9 +a reference to `std::option::Option>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:2086:13 +a raw pointer to `(u8, u8)` in `([Cloned; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2203:23 +a raw pointer to `(u8, u8)` in `(Dropped, (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2203:23 +a raw pointer to `(u8, u8)` in `([Greatest; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2259:13 +a raw pointer to `(u8, u8)` in `([Touched; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2203:23 diff --git a/ts/fixtures/reject/src/lib.rs b/ts/fixtures/reject/src/lib.rs index 7cfb7ddce..4058f32f6 100644 --- a/ts/fixtures/reject/src/lib.rs +++ b/ts/fixtures/reject/src/lib.rs @@ -434,13 +434,6 @@ impl Reading for u8 { } } -/// A `Weak` of a trait object, which would need an object made of a value that may be -/// gone. -pub fn weak_object(n: std::sync::Weak) -> Option { - let r: std::sync::Weak = n; - r.upgrade().map(|r| r.read()) -} - pub trait Scaled { fn scale(&self, by: T) -> T; } diff --git a/ts/fixtures/reject/ts.toml b/ts/fixtures/reject/ts.toml index 269cc4ce0..01b177e66 100644 --- a/ts/fixtures/reject/ts.toml +++ b/ts/fixtures/reject/ts.toml @@ -50,7 +50,6 @@ roots = [ "bytes_mut_put", "bytes_mut_put_through", "addr_parsed", - "weak_object", "generic_object", "first_of", "tail_read", diff --git a/ts/runtime/rt/task.ts b/ts/runtime/rt/task.ts index 990759d3b..2b5dd211a 100644 --- a/ts/runtime/rt/task.ts +++ b/ts/runtime/rt/task.ts @@ -165,9 +165,17 @@ function arcRoot(arc: Arc): Arc { return arc instanceof ArcDyn ? arc.arc : arc; } -/** `Arc::downcast` of an `Arc`: the `Arc` it was made from, if its object is a `class`. */ -export function arcDowncast(arc: Arc, class_: abstract new (...args: never[]) => unknown): Result, Arc> { - return arc instanceof ArcDyn && arc.value instanceof class_ ? Ok(arc.arc as Arc) : Err(arc); +/** + * `Arc::downcast` of an `Arc`, if its object is a `class`: the `Arc` it was made + * from, or one of what the object holds, by `held`, sharing the count of one made from a box. + */ +export function arcDowncast( + arc: Arc, + class_: abstract new (...args: never[]) => C, + held: (object: C) => T, +): Result, Arc> { + if (!(arc.value instanceof class_)) return Err(arc); + return Ok(arc instanceof ArcDyn ? (arc.arc as Arc) : new ArcDyn(arc, held(arc.value))); } /** @@ -270,12 +278,18 @@ export function arcNewCyclic(f: (weak: Weak) => T): Arc { return arc; } -/** `Weak`, of `arc`, or else dangling, counted in `arc` until it drops. */ +/** + * `Weak`, of `arc`, or else dangling, counted in `arc` until it drops. One unsized to a + * `Weak` keeps the `Arc` it was made from, which `view` makes an `Arc` + * of as it upgrades, since `Arc::new_cyclic`'s value may not be there yet. + */ export class Weak implements Disposable { - readonly arc: Arc; + readonly arc: Arc; + readonly view: ((arc: Arc) => Arc) | undefined; - constructor(arc: Arc = DANGLING) { + constructor(arc: Arc = DANGLING, view?: (arc: Arc) => Arc) { this.arc = arc; + this.view = view; arc.weak++; } @@ -284,14 +298,23 @@ export class Weak implements Disposable { } } +/** `weak`, a `Weak`, unsized to a `Weak` of what `view` makes of its `Arc`. */ +export function weakDyn(weak: Weak, view: (arc: Arc) => Arc): Weak { + const dyn = new Weak(weak.arc as Arc, view as (arc: Arc) => Arc); + weak.arc.weak--; + return dyn; +} + /** `Weak::upgrade`: a new `Arc`, or `undefined` once none is left. */ export function weakUpgrade(weak: Weak): Arc | undefined { - return weak.arc.strong > 0 ? arcClone(weak.arc) : undefined; + if (weak.arc.strong === 0) return undefined; + const arc = arcClone(weak.arc as Arc); + return weak.view === undefined ? arc : weak.view(arc); } /** `Weak::clone`. */ export function weakClone(weak: Weak): Weak { - return new Weak(weak.arc); + return new Weak(weak.arc as Arc, weak.view); } /** `Weak::weak_count`: its `Arc`'s, or 0 once no strong one is left, as for a dangling one. */ diff --git a/ts/src/lower/dynamic.rs b/ts/src/lower/dynamic.rs index 2d73493a2..beea13e31 100644 --- a/ts/src/lower/dynamic.rs +++ b/ts/src/lower/dynamic.rs @@ -488,8 +488,8 @@ impl<'tcx> Body<'_, '_, 'tcx> { } } -/// A call of `dyn Any`'s `is`, `downcast_ref`, or `downcast_mut`, or of `Box`'s or `Arc`'s -/// `downcast`, each of which checks for the class a coercion wrapped a value of its type +/// A call of `dyn Any`'s `is`, `downcast_ref`, or `downcast_mut`, or of `Box`'s, `Arc`'s, or +/// `Rc`'s `downcast`, each of which checks for the class a coercion wrapped a value of its type /// in, or its arguments back if it is none of these. pub fn call<'tcx>( b: &mut Body<'_, '_, 'tcx>, @@ -502,7 +502,7 @@ pub fn call<'tcx>( let tcx = b.t.tcx; if !matches!( (owner, name), - ("dyn Any", "is" | "downcast_ref" | "downcast_mut") | ("Box" | "Arc", "downcast") + ("dyn Any", "is" | "downcast_ref" | "downcast_mut") | ("Box" | "Arc" | "Rc", "downcast") ) { return Err(args); } @@ -555,7 +555,14 @@ pub fn call<'tcx>( Box::new(Expr::result(false, o.clone())), ), // The `Arc` the object was made from, whose count the object shares. - _ => Expr::rt("arcDowncast", vec![o, Expr::Sym(value.sym)]), + _ => { + let held = crate::ts::Param { + name: "object".into(), + ty: None, + }; + let held = Expr::Lambda(vec![held], Box::new(Expr::ident("object").field(value.v))); + Expr::rt("arcDowncast", vec![o, Expr::Sym(value.sym), held]) + } }; Ok(Some(e)) } diff --git a/ts/src/lower/library.rs b/ts/src/lower/library.rs index 3bc4fff5c..27800c83d 100644 --- a/ts/src/lower/library.rs +++ b/ts/src/lower/library.rs @@ -1400,6 +1400,16 @@ fn mapping<'tcx>( { return Some(boxed_vec(value, elem)); } + // An `Arc` or an `Rc` of what a box holds, its trait object included, which it + // drops with the last one. A box of a byte array holds a `Uint8Array` of its own. + if b.t.std_of(to) == Some(Std::Arc) + && let ty::Adt(adt, args) = from.kind() + && Std::of(tcx, adt.did()) == Some(Std::Box) + && (args.type_at(0).is_trait() || args.type_at(0).is_sized(tcx, b.t.typing_env())) + && !super::byte_array(args.type_at(0)) + { + return Some(Expr::New(Box::new(Expr::Rt("Arc".into())), vec![value])); + } // A heap's `Vec` is its elements. if let ty::Adt(adt, args) = from.kind() && Std::of(tcx, adt.did()) == Some(Std::BinaryHeap) diff --git a/ts/src/lower/mir/rvalue.rs b/ts/src/lower/mir/rvalue.rs index d0a8571d9..a60927f16 100644 --- a/ts/src/lower/mir/rvalue.rs +++ b/ts/src/lower/mir/rvalue.rs @@ -272,6 +272,11 @@ impl<'m, 'b, 'a, 'tcx> Fx<'m, 'b, 'a, 'tcx> { fn cast(&mut self, kind: CastKind, op: &Operand<'tcx>, to: Ty<'tcx>, span: Span, out: &mut Vec) -> Expr { let tcx = self.tcx; let from = op.ty(&self.mir.local_decls, tcx); + // A `Pin` is the pointer it holds, which unsizes as it does. + let (from, to) = match kind { + CastKind::PointerCoercion(PointerCoercion::Unsize, _) => unpinned(tcx, from, to), + _ => (from, to), + }; match kind { CastKind::IntToInt | CastKind::IntToFloat | CastKind::FloatToInt | CastKind::FloatToFloat => { let value = self.operand(op, span, out); @@ -291,6 +296,10 @@ impl<'m, 'b, 'a, 'tcx> Fx<'m, 'b, 'a, 'tcx> { let value = self.operand(op, span, out); self.arc_object(value, pointee, object, span, out) } + PointerCoercion::Unsize if let Some((pointee, object)) = weak_object(tcx, from, to) => { + let value = self.operand(op, span, out); + self.weak_object(value, pointee, object, span) + } // A future, as the `rt.Future` a `dyn Future` is. PointerCoercion::Unsize if unsized_to(from, to).is_some_and(|part| self.b.t.dyn_future(part).is_some()) => @@ -383,6 +392,25 @@ impl<'m, 'b, 'a, 'tcx> Fx<'m, 'b, 'a, 'tcx> { } } + /// `weak`, a `Weak` of `pointee` unsized to one of the trait object `object`: `rt.weakDyn` + /// of it, which makes the `Arc` an upgrade gives as `arc_object` does, or the same `Weak` + /// upcast. + fn weak_object(&mut self, weak: Expr, pointee: Ty<'tcx>, object: Ty<'tcx>, span: Span) -> Expr { + if pointee.is_trait() { + return weak; + } + let name = self.b.fresh("arc"); + let mut body = Vec::new(); + let arc = self.arc_object(Expr::ident(name.clone()), pointee, object, span, &mut body); + body.push(StmtKind::Return(Some(arc)).at(None)); + let param = crate::ts::Param { + name, + ty: Some(crate::ts::Type::Rt("Arc", vec![self.b.t.ty(pointee, span)])), + }; + let ret = crate::ts::Type::Rt("Arc", vec![self.b.t.ty(object, span)]); + Expr::rt("weakDyn", vec![weak, Expr::Arrow(vec![param], ret, body)]) + } + /// A discriminant as its number, of a whole `next` result if `next`. fn discriminant(&mut self, scrut: Expr, ty: Ty<'tcx>, next: bool, span: Span, out: &mut Vec) -> Expr { match ty.kind() { @@ -950,6 +978,25 @@ fn arc_object<'tcx>(tcx: TyCtxt<'tcx>, from: Ty<'tcx>, to: Ty<'tcx>) -> Option<( (Std::of(tcx, adt.did()) == Some(Std::Arc) && object.is_trait()).then(|| (from_args.type_at(0), object)) } +/// What a `Weak` unsized to a `Weak` of a trait object points at, and that object. +fn weak_object<'tcx>(tcx: TyCtxt<'tcx>, from: Ty<'tcx>, to: Ty<'tcx>) -> Option<(Ty<'tcx>, Ty<'tcx>)> { + let (ty::Adt(adt, from_args), ty::Adt(_, to_args)) = (from.kind(), to.kind()) else { + return None; + }; + let object = to_args.type_at(0); + (Std::of(tcx, adt.did()) == Some(Std::Weak) && object.is_trait()).then(|| (from_args.type_at(0), object)) +} + +/// `from` and `to`, each the pointer the `Pin` it is holds, if both are pins. +fn unpinned<'tcx>(tcx: TyCtxt<'tcx>, from: Ty<'tcx>, to: Ty<'tcx>) -> (Ty<'tcx>, Ty<'tcx>) { + match (from.kind(), to.kind()) { + (ty::Adt(a, a_args), ty::Adt(b, b_args)) if a.did() == b.did() && Std::of(tcx, a.did()) == Some(Std::Pin) => { + (a_args.type_at(0), b_args.type_at(0)) + } + _ => (from, to), + } +} + /// Whether evaluating `rvalue` can do or throw anything. pub fn effect<'tcx>(rvalue: &Rvalue<'tcx>, fx: &Fx<'_, '_, '_, 'tcx>) -> bool { match rvalue { From 6a46ac7aa5f422cfd5f16749909344a6b0786ffa Mon Sep 17 00:00:00 2001 From: Luke Curley <432854+kixelated@users.noreply.github.com> Date: Mon, 2 Nov 2026 10:49:23 -0800 Subject: [PATCH 2/6] test(ts): refresh the task fixture for arcDowncast's held value Co-Authored-By: Claude Opus 5.5 --- ts/fixtures/task/expected/drops/objects.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/fixtures/task/expected/drops/objects.ts b/ts/fixtures/task/expected/drops/objects.ts index b605107bd..b352bf48c 100644 --- a/ts/fixtures/task/expected/drops/objects.ts +++ b/ts/fixtures/task/expected/drops/objects.ts @@ -222,7 +222,7 @@ export function anys(log: Log.Log, id: rt.u32): void { Log.note(log, rt.fmtFormat(["clones ", args8[0]])); const a: rt.Arc = clones[0]; const b: rt.Arc = clones[1]; - const typed: rt.Arc<[Guard.Guard, Guard.Guard]> | undefined = ok$02syyam(rt.arcDowncast(a, Any.of$tuple2_model_Guard_model_Guard)); + const typed: rt.Arc<[Guard.Guard, Guard.Guard]> | undefined = ok$02syyam(rt.arcDowncast(a, Any.of$tuple2_model_Guard_model_Guard, (object) => object.v)); const part4 = option_map$06e51ml(typed, (t: rt.Arc<[Guard.Guard, Guard.Guard]>): [rt.u32, rt.usize] => { return [Guard.id(t.value[0]), t.strong] as [rt.u32, rt.usize]; }); From 246f079dea901fb0d193f8852963eced2a07af69 Mon Sep 17 00:00:00 2001 From: Luke Curley <432854+kixelated@users.noreply.github.com> Date: Mon, 2 Nov 2026 11:31:00 -0800 Subject: [PATCH 3/6] fix(ts): keep one allocation across downcasts of a boxed Rc, and refuse a Weak's upcast to dyn Any Co-Authored-By: Claude Opus 5.5 --- ts/fixtures/lang/expected/dyns.ts | 126 +++-- ts/fixtures/lang/src/dyns.rs | 14 + ts/fixtures/reject/census.md | 897 +++++++++++++++--------------- ts/fixtures/reject/expected.txt | 321 +++++------ ts/fixtures/reject/src/lib.rs | 6 + ts/fixtures/reject/ts.toml | 1 + ts/runtime/rt/task.ts | 14 +- ts/src/lower/mir/rvalue.rs | 15 +- 8 files changed, 735 insertions(+), 659 deletions(-) diff --git a/ts/fixtures/lang/expected/dyns.ts b/ts/fixtures/lang/expected/dyns.ts index 4b86ff25e..989a185a8 100644 --- a/ts/fixtures/lang/expected/dyns.ts +++ b/ts/fixtures/lang/expected/dyns.ts @@ -676,7 +676,7 @@ export function fns(data: rt.ByteSlice, out: rt.ByteVec): void { */ export function pointers(dataData: Uint8Array, dataStart: number, dataLen: number, out: rt.ByteVec): void { let f!: rt.Arc<(a0: rt.u8) => rt.u8>; - let _540: boolean = false; + let _595: boolean = false; if (dataLen >= 2) { const log: rt.Arc> = new rt.Arc(new rt.RefCell(new rt.ByteVec())); const sq: rt.Arc = new rt.Arc({ side: dataData[dataStart] as rt.u16 }); @@ -766,15 +766,15 @@ export function pointers(dataData: Uint8Array, dataStart: number, dataLen: numbe rt.refRelease(_230); fmt_put(out, _226); const boxes: dyns_Shape.Shape[] = rt.iterToArray(rt.iterMap(rt.iterSlice(rt.byteSliceView(new rt.ByteSlice(dataData, dataStart + 2, dataLen - 2))), (_2: rt.u8): dyns_Shape.Shape => { - const x: rt.u8 = _2; - const _43: rt.u8 = rt.u8Rem(x, 3); + const x2: rt.u8 = _2; + const _43: rt.u8 = rt.u8Rem(x2, 3); if (_43 === 0) { - return new dyns_Shape.of$dyns_Noisy(new dyns_Noisy.Noisy(x, rt.arcClone(log))); + return new dyns_Shape.of$dyns_Noisy(new dyns_Noisy.Noisy(x2, rt.arcClone(log))); } if (_43 === 1) { - return new dyns_Shape.of$u32(x as rt.u32); + return new dyns_Shape.of$u32(x2 as rt.u32); } - return new dyns_Shape.of$dyns_Tri({ tag: "Tall", _0: x } as Tri.Tri); + return new dyns_Shape.of$dyns_Tri({ tag: "Tall", _0: x2 } as Tri.Tri); }), undefined, 8, true); const rcs: rt.Arc[] = []; const arcs: rt.Arc[] = []; @@ -849,62 +849,98 @@ export function pointers(dataData: Uint8Array, dataStart: number, dataLen: numbe } const any2: rt.Arc = new rt.Arc(new Any.of$dyns_Noisy(new dyns_Noisy.Noisy(rt.u8WrappingAdd(dataData[dataStart + 1], 1), rt.arcClone(log)))); const held: rt.Arc = rt.arcClone(any2); - _540 = true; - const _391: rt.RefCell = rt.refCellBorrowMut(log.value); - rt.byteVecClear(_391.value); - rt.refMutRelease(_391); - const _395: rt.Result, rt.Arc> = rt.arcDowncast(any2, Any.of$dyns_Noisy, (object) => object.v); - if (_395.ok) { - const n2: rt.Arc = _395.value; - const _406: dyns_Noisy.Noisy = n2.value; - const _409: rt.usize = n2.strong; - const arg2 = _406._0; - const args28: rt.Fmt[] = [(f: rt.Formatter) => rt.u8Display(arg2, f), (f: rt.Formatter) => rt.usizeDisplay(_409, f)]; - fmt_put(out, rt.fmtFormat([args28[0], " ", args28[1], " "])); - _540 = false; + _595 = true; + b5: { + const _388: [rt.Result, rt.Arc>, rt.Result, rt.Arc>] = [rt.arcDowncast(rt.arcClone(any2), Any.of$dyns_Noisy, (object) => object.v), rt.arcDowncast(rt.arcClone(held), Any.of$dyns_Noisy, (object) => object.v)]; + if (_388[0].ok) { + if (_388[1].ok) { + const x: rt.Arc = (_388[0] as { ok: true; value: rt.Arc }).value; + const y: rt.Arc = (_388[1] as { ok: true; value: rt.Arc }).value; + const _403: rt.Arc = rt.arcClone(x); + const _402: rt.Arc = new rt.ArcDyn(_403, new Any.of$dyns_Noisy(_403.value)); + const _406: rt.Arc = rt.arcClone(y); + const _401: [rt.Arc, rt.Arc] = [_402, new rt.ArcDyn(_406, new Any.of$dyns_Noisy(_406.value))]; + const ex: rt.Arc = _402; + const ey: rt.Arc = _401[1]; + const _416: boolean = x === y; + const _420: boolean = rt.arcPtrEq(ex, ey); + const _424: boolean = rt.arcPtrEq(ex, held); + const _428: rt.usize = x.strong; + const args28: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtBool(_416, f), (f: rt.Formatter) => rt.fmtBool(_420, f), (f: rt.Formatter) => rt.fmtBool(_424, f), (f: rt.Formatter) => rt.usizeDisplay(_428, f)]; + fmt_put(out, rt.fmtFormat([args28[0], " ", args28[1], " ", args28[2], " ", args28[3], " "])); + ey[Symbol.dispose](); + ex[Symbol.dispose](); + y[Symbol.dispose](); + x[Symbol.dispose](); + break b5; + } + } + if (_388[0].ok) { + (_388[0] as { ok: true; value: rt.Arc }).value[Symbol.dispose](); + } else { + drop$Result_Rc_dyns_Noisy_Rc_dyn_Any(_388[0]); + } + if (_388[1].ok) { + (_388[1] as { ok: true; value: rt.Arc }).value[Symbol.dispose](); + } else { + drop$Result_Rc_dyns_Noisy_Rc_dyn_Any(_388[1]); + } + } + const _440: rt.RefCell = rt.refCellBorrowMut(log.value); + rt.byteVecClear(_440.value); + rt.refMutRelease(_440); + const _444: rt.Result, rt.Arc> = rt.arcDowncast(any2, Any.of$dyns_Noisy, (object) => object.v); + if (_444.ok) { + const n2: rt.Arc = _444.value; + const _455: dyns_Noisy.Noisy = n2.value; + const _458: rt.usize = n2.strong; + const arg2 = _455._0; + const args30: rt.Fmt[] = [(f: rt.Formatter) => rt.u8Display(arg2, f), (f: rt.Formatter) => rt.usizeDisplay(_458, f)]; + fmt_put(out, rt.fmtFormat([args30[0], " ", args30[1], " "])); + _595 = false; held[Symbol.dispose](); - const _426: rt.usize = n2.strong; - const _429: rt.RefCell = rt.refCellBorrow(log.value); - const args30: rt.Fmt[] = [(f: rt.Formatter) => rt.usizeDisplay(_426, f), (f: rt.Formatter) => rt.fmtList(rt.byteVecView(_429.value), f, rt.u8Debug)]; - const _422: string = rt.fmtFormat([args30[0], " ", args30[1], " "]); - rt.refRelease(_429); - fmt_put(out, _422); + const _475: rt.usize = n2.strong; + const _478: rt.RefCell = rt.refCellBorrow(log.value); + const args32: rt.Fmt[] = [(f: rt.Formatter) => rt.usizeDisplay(_475, f), (f: rt.Formatter) => rt.fmtList(rt.byteVecView(_478.value), f, rt.u8Debug)]; + const _471: string = rt.fmtFormat([args32[0], " ", args32[1], " "]); + rt.refRelease(_478); + fmt_put(out, _471); n2[Symbol.dispose](); } else { fmt_put(out, "none "); } - if (!_395.ok) { - drop$Result_Rc_dyns_Noisy_Rc_dyn_Any(_395); + if (!_444.ok) { + drop$Result_Rc_dyns_Noisy_Rc_dyn_Any(_444); } - const _446: rt.RefCell = rt.refCellBorrow(log.value); - const args32: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtList(rt.byteVecView(_446.value), f, rt.u8Debug)]; - const _442: string = rt.fmtFormat([args32[0], " "]); - rt.refRelease(_446); - fmt_put(out, _442); + const _495: rt.RefCell = rt.refCellBorrow(log.value); + const args34: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtList(rt.byteVecView(_495.value), f, rt.u8Debug)]; + const _491: string = rt.fmtFormat([args34[0], " "]); + rt.refRelease(_495); + fmt_put(out, _491); const part3 = option_map$0j05j69(ok$00p9ap8(rt.arcDowncast(new rt.Arc(new Any.of$u32(dataData[dataStart] as rt.u32)), Any.of$u32, (object) => object.v)), (n3: rt.Arc): rt.u32 => { const _08: rt.u32 = n3.value; n3[Symbol.dispose](); return _08; }); - const args34: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtOption(part3, f, rt.u32Debug)]; - fmt_put(out, rt.fmtFormat([args34[0], " "])); - const _474: rt.Arc<(a0: rt.u8) => rt.u8> = new rt.Arc((x2: rt.u8): rt.u8 => { - return rt.u8WrappingAdd(x2, dataData[dataStart]); + const args36: rt.Fmt[] = [(f: rt.Formatter) => rt.fmtOption(part3, f, rt.u32Debug)]; + fmt_put(out, rt.fmtFormat([args36[0], " "])); + const _523: rt.Arc<(a0: rt.u8) => rt.u8> = new rt.Arc((x3: rt.u8): rt.u8 => { + return rt.u8WrappingAdd(x3, dataData[dataStart]); }); - f = new rt.ArcDyn(_474, _474.value); - const g: rt.Arc<(a0: rt.u8) => rt.u8> = new rt.Arc((x3: rt.u8): rt.u8 => { - return x3 ^ dataData[dataStart + 1]; + f = new rt.ArcDyn(_523, _523.value); + const g: rt.Arc<(a0: rt.u8) => rt.u8> = new rt.Arc((x4: rt.u8): rt.u8 => { + return x4 ^ dataData[dataStart + 1]; }); - const _488: rt.u8 = f.value(dataData[dataStart + 1]); - const _494: rt.u8 = g.value(dataData[dataStart]); - const args36: rt.Fmt[] = [(f: rt.Formatter) => rt.u8Display(_488, f), (f: rt.Formatter) => rt.u8Display(_494, f)]; - fmt_put(out, rt.fmtFormat([args36[0], " ", args36[1]])); + const _537: rt.u8 = f.value(dataData[dataStart + 1]); + const _543: rt.u8 = g.value(dataData[dataStart]); + const args38: rt.Fmt[] = [(f: rt.Formatter) => rt.u8Display(_537, f), (f: rt.Formatter) => rt.u8Display(_543, f)]; + fmt_put(out, rt.fmtFormat([args38[0], " ", args38[1]])); g[Symbol.dispose](); f[Symbol.dispose](); - if (_540) { + if (_595) { held[Symbol.dispose](); } - _540 = false; + _595 = false; looped[Symbol.dispose](); weak4[Symbol.dispose](); again[Symbol.dispose](); diff --git a/ts/fixtures/lang/src/dyns.rs b/ts/fixtures/lang/src/dyns.rs index bf7f2472d..90bdc4817 100644 --- a/ts/fixtures/lang/src/dyns.rs +++ b/ts/fixtures/lang/src/dyns.rs @@ -689,6 +689,20 @@ pub fn pointers(data: &[u8], out: &mut Vec) { let boxed: Box = Box::new(Noisy(b.wrapping_add(1), log.clone())); let any: Rc = Rc::from(boxed); let held = any.clone(); + // Two downcasts of one, and each erased again, are still the one allocation. + if let (Ok(x), Ok(y)) = (any.clone().downcast::(), held.clone().downcast::()) { + let (ex, ey): (Rc, Rc) = (x.clone(), y.clone()); + put( + out, + &format!( + "{} {} {} {} ", + Rc::ptr_eq(&x, &y), + Rc::ptr_eq(&ex, &ey), + Rc::ptr_eq(&ex, &held), + Rc::strong_count(&x), + ), + ); + } log.borrow_mut().clear(); match any.downcast::() { Ok(n) => { diff --git a/ts/fixtures/reject/census.md b/ts/fixtures/reject/census.md index 7b39d69e5..03b4d052c 100644 --- a/ts/fixtures/reject/census.md +++ b/ts/fixtures/reject/census.md @@ -1,85 +1,85 @@ # Census of `reject-fixture` -- Refusals: 228 -- Function instances: 287 +- Refusals: 229 +- Function instances: 289 - Generic functions no instance reached, lowered over their type parameters: 13 ## By construct | Count | Construct | First | | ---: | --- | --- | -| 49 | a raw pointer to `_` in `_`, which the crate may put another object in place of | fixtures/reject/src/lib.rs:579:10 | +| 49 | a raw pointer to `_` in `_`, which the crate may put another object in place of | fixtures/reject/src/lib.rs:585:10 | | 25 | unsupported call to `_` | fixtures/reject/src/lib.rs:160:8 | -| 22 | a raw pointer to `_` in a variable assigned again while it may point there | fixtures/reject/src/lib.rs:587:10 | -| 15 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | fixtures/reject/src/lib.rs:1308:33 | -| 15 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | fixtures/reject/src/lib.rs:1626:18 | -| 5 | `_` with a mutable reference to a value JS copies, which its mapping would copy | fixtures/reject/src/lib.rs:1206:22 | -| 5 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | fixtures/reject/src/lib.rs:650:10 | +| 22 | a raw pointer to `_` in a variable assigned again while it may point there | fixtures/reject/src/lib.rs:593:10 | +| 15 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | fixtures/reject/src/lib.rs:1314:33 | +| 15 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | fixtures/reject/src/lib.rs:1632:18 | +| 5 | `_` with a mutable reference to a value JS copies, which its mapping would copy | fixtures/reject/src/lib.rs:1212:22 | +| 5 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | fixtures/reject/src/lib.rs:656:10 | | 4 | a variant of `_`, which is not supported: either is the same JS string | fixtures/reject/src/lib.rs:309:2 | | 4 | an assignment through a reference to `_` | fixtures/reject/src/lib.rs:83:2 | | 3 | `_` of `_`, whose `clone_from` is its own, which is not supported yet | fixtures/reject/src/lib.rs:21:4 | | 3 | a copy of a closure that changes what it captured | fixtures/reject/src/lib.rs:224:14 | -| 3 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | fixtures/reject/src/lib.rs:2135:2 | +| 3 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | fixtures/reject/src/lib.rs:2141:2 | | 3 | replacing the value behind a reference to `_` | fixtures/reject/src/lib.rs:91:2 | | 3 | unsupported type `_` | fixtures/reject/src/lib.rs:7:14 | | 2 | `_` is not supported: its `None` and `Some` would both be `rt.None` | fixtures/reject/src/lib.rs:16:15 | | 2 | `_` of `_`, whose `None` is `rt.None`, which is not supported yet | fixtures/reject/src/lib.rs:37:4 | | 2 | `_`, a trait object of another crate's trait, which is not supported yet | fixtures/reject/src/lib.rs:11:16 | | 2 | `_`, a trait object of the generic trait `_`, which is not supported yet | fixtures/reject/src/lib.rs:435:23 | -| 2 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | fixtures/reject/src/lib.rs:526:27 | -| 2 | a raw pointer to a place of `()`, which has no address of its own | fixtures/reject/src/lib.rs:699:15 | +| 2 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | fixtures/reject/src/lib.rs:532:27 | +| 2 | a raw pointer to a place of `()`, which has no address of its own | fixtures/reject/src/lib.rs:705:15 | | 2 | an iterator of the crate implementing `_`, which is not supported yet | fixtures/reject/src/lib.rs:145:1 | -| 2 | comparing pointers to `_`, each a place JS makes of its own | fixtures/reject/src/lib.rs:567:2 | +| 2 | an upcast from `_` to `_`, which is not supported yet | fixtures/reject/src/lib.rs:503:32 | +| 2 | comparing pointers to `_`, each a place JS makes of its own | fixtures/reject/src/lib.rs:573:2 | | 2 | overriding `_`, which std's adaptors call in place of `next` or beside it | fixtures/reject/src/lib.rs:125:2 | | 2 | passing `_`, which drops, to `_`, which is not supported yet | fixtures/reject/src/lib.rs:304:4 | | 2 | unsupported type `_` from another crate | fixtures/reject/src/lib.rs:416:32 | -| 1 | `Buf::copy_to_bytes` of `_`, a value JS copies, which is not supported | fixtures/reject/src/lib.rs:732:2 | +| 1 | `Buf::copy_to_bytes` of `_`, a value JS copies, which is not supported | fixtures/reject/src/lib.rs:738:2 | | 1 | `BufMut::put` of `_` into a `BytesMut`, which advances it by the room left in a capacity that depends on whether the other handles of its storage dropped, which is not supported | fixtures/reject/src/lib.rs:372:2 | | 1 | `BufMut::put` of `_` into a `BytesMut`, which picks the methods it calls by a capacity that depends on whether the other handles of its storage dropped, which is not supported | fixtures/reject/src/lib.rs:367:2 | | 1 | `Bytes::from_owner` of `_`, which would drop with the last clone of what it makes, which is not supported | fixtures/reject/src/lib.rs:352:2 | -| 1 | `Extend` of `_` by `_`, whose `_` of `_` is not supported yet | fixtures/reject/src/lib.rs:1243:31 | +| 1 | `Extend` of `_` by `_`, whose `_` of `_` is not supported yet | fixtures/reject/src/lib.rs:1249:31 | | 1 | `Pointer` formatting, as in `{:p}`, is not supported | fixtures/reject/src/lib.rs:49:2 | | 1 | `_` is not supported: its `Pending` and `Ready` would both be `rt.OuterPending` | fixtures/reject/src/lib.rs:72:20 | | 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `None` would be `rt.None` as `_` | fixtures/reject/src/lib.rs:31:2 | | 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `Pending` would be `rt.OuterPending` as `_` | fixtures/reject/src/lib.rs:473:2 | | 1 | `_` of `_` by `_`, which is not supported yet | fixtures/reject/src/lib.rs:253:6 | -| 1 | `_` of `_`, which is not supported yet | fixtures/reject/src/lib.rs:509:4 | +| 1 | `_` of `_`, which is not supported yet | fixtures/reject/src/lib.rs:515:4 | | 1 | `_`, which reads a capacity that depends on whether the other handles of its storage dropped, which is not supported | fixtures/reject/src/lib.rs:361:6 | -| 1 | `clone_from` of `_`, whose items' `clone_from` is their own, which is not supported yet | fixtures/reject/src/lib.rs:2089:4 | -| 1 | `collect` of `_`, which sorts by `_`'s own `Ord`, of entries that drop, which is not supported yet | fixtures/reject/src/lib.rs:926:22 | +| 1 | `clone_from` of `_`, whose items' `clone_from` is their own, which is not supported yet | fixtures/reject/src/lib.rs:2095:4 | +| 1 | `collect` of `_`, which sorts by `_`'s own `Ord`, of entries that drop, which is not supported yet | fixtures/reject/src/lib.rs:932:22 | | 1 | `fmt::Arguments` with a placeholder, or not made in place, written to `_`'s own `fmt::Write`, which is not supported yet: std splits what a placeholder writes into `write_str` calls the runtime does not make | fixtures/reject/src/lib.rs:55:10 | | 1 | a `collect` in place of `_`, a zip std reads by index, holding values that drop, which is not supported yet | fixtures/reject/src/lib.rs:209:40 | | 1 | a `skip` of `_`, a zip std reads by index, of items that drop, which is not supported yet | fixtures/reject/src/lib.rs:202:8 | | 1 | a cast from `_` to `_` | fixtures/reject/src/lib.rs:68:2 | -| 1 | a cast from `_` to `_`, which reads the bytes of one type as another | fixtures/reject/src/lib.rs:1684:33 | -| 1 | a coercion of `_` to `_`, a pointer to a slice | fixtures/reject/src/lib.rs:1685:28 | +| 1 | a cast from `_` to `_`, which reads the bytes of one type as another | fixtures/reject/src/lib.rs:1690:33 | +| 1 | a coercion of `_` to `_`, a pointer to a slice | fixtures/reject/src/lib.rs:1691:28 | | 1 | a coercion to `_` | fixtures/reject/src/lib.rs:276:2 | | 1 | a coercion to `_`, which is not supported yet | fixtures/reject/src/lib.rs:462:30 | -| 1 | a constant of type `_`, a pointer into memory translation can't name | fixtures/reject/src/lib.rs:749:3 | -| 1 | a dangling pointer to `_`, a value of no bytes made of more than structs and tuples | fixtures/reject/src/lib.rs:708:11 | +| 1 | a constant of type `_`, a pointer into memory translation can't name | fixtures/reject/src/lib.rs:755:3 | +| 1 | a dangling pointer to `_`, a value of no bytes made of more than structs and tuples | fixtures/reject/src/lib.rs:714:11 | | 1 | a future of `_`, which can be `rt.Pending`, as the future's own `Pending` is | fixtures/reject/src/lib.rs:77:34 | -| 1 | a mapped guard of `_`, which JS can't write in place | fixtures/reject/src/lib.rs:2123:10 | +| 1 | a mapped guard of `_`, which JS can't write in place | fixtures/reject/src/lib.rs:2129:10 | | 1 | a mutable reference into a `Result`'s payload, passed on or kept | fixtures/reject/src/lib.rs:340:12 | | 1 | a mutable static, which any code may write | fixtures/reject/src/lib.rs:61:11 | -| 1 | a pointer's address, which JS has no counterpart of | fixtures/reject/src/lib.rs:531:17 | +| 1 | a pointer's address, which JS has no counterpart of | fixtures/reject/src/lib.rs:537:17 | | 1 | a printable type must implement `Display` or `Debug` | fixtures/reject/src/lib.rs:64:1 | -| 1 | a raw pointer to `_` behind a reference, which is the object and not where it is kept | fixtures/reject/src/lib.rs:548:10 | -| 1 | a reference through which a raw pointer may be made into `_` in an element, a payload, or a union field, which is not supported yet | fixtures/reject/src/lib.rs:1335:11 | +| 1 | a raw pointer to `_` behind a reference, which is the object and not where it is kept | fixtures/reject/src/lib.rs:554:10 | +| 1 | a reference through which a raw pointer may be made into `_` in an element, a payload, or a union field, which is not supported yet | fixtures/reject/src/lib.rs:1341:11 | | 1 | a scalar constant of type `_` | fixtures/reject/src/lib.rs:8:2 | -| 1 | a slice of one byte's place, which a byte slice can view only in an array of bytes | fixtures/reject/src/lib.rs:2129:2 | +| 1 | a slice of one byte's place, which a byte slice can view only in an array of bytes | fixtures/reject/src/lib.rs:2135:2 | | 1 | a trait object of `_`, which is not supported yet | fixtures/reject/src/lib.rs:452:26 | -| 1 | an upcast from `_` to `_`, which is not supported yet | fixtures/reject/src/lib.rs:503:32 | | 1 | arithmetic on `_` | fixtures/reject/src/lib.rs:8:2 | -| 1 | comparing `_` | fixtures/reject/src/lib.rs:1683:41 | +| 1 | comparing `_` | fixtures/reject/src/lib.rs:1689:41 | | 1 | comparing `_` as a key, which is not supported yet | fixtures/reject/src/lib.rs:235:75 | -| 1 | comparing pointers to `_` in an atomic, which JS has no address of | fixtures/reject/src/lib.rs:748:15 | -| 1 | comparing pointers to `_`, which has no bytes and so no address of its own | fixtures/reject/src/lib.rs:699:70 | -| 1 | const generic types are not supported: `_` | fixtures/reject/src/lib.rs:2068:1 | +| 1 | comparing pointers to `_` in an atomic, which JS has no address of | fixtures/reject/src/lib.rs:754:15 | +| 1 | comparing pointers to `_`, which has no bytes and so no address of its own | fixtures/reject/src/lib.rs:705:70 | +| 1 | const generic types are not supported: `_` | fixtures/reject/src/lib.rs:2074:1 | | 1 | constructing `_` | fixtures/reject/src/lib.rs:327:53 | | 1 | hashing `_` as a key, which is not supported yet | fixtures/reject/src/lib.rs:235:75 | -| 1 | hashing `_` by its address, which JS has no counterpart of | fixtures/reject/src/lib.rs:1687:5 | +| 1 | hashing `_` by its address, which JS has no counterpart of | fixtures/reject/src/lib.rs:1693:5 | | 1 | hashing `_` through `_`'s own `Hash::hash_slice`, which is not supported yet | fixtures/reject/src/lib.rs:295:16 | -| 1 | union `_`, whose fields overlap in `_` and `f64`, which JS keeps apart | fixtures/reject/src/lib.rs:553:1 | +| 1 | union `_`, whose fields overlap in `_` and `f64`, which JS keeps apart | fixtures/reject/src/lib.rs:559:1 | ## By API @@ -87,165 +87,165 @@ The type or module each refused type or path belongs to. | Count | API | First | | ---: | --- | --- | -| 39 | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:658:15 | -| 27 | `(u32, u32)` | fixtures/reject/src/lib.rs:579:10 | +| 39 | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:664:15 | +| 27 | `(u32, u32)` | fixtures/reject/src/lib.rs:585:10 | | 6 | `[u8; 4]` | fixtures/reject/src/lib.rs:452:26 | | 6 | `f16` | fixtures/reject/src/lib.rs:7:14 | | 6 | `std::borrow::Cow` | fixtures/reject/src/lib.rs:309:2 | -| 6 | `u32` | fixtures/reject/src/lib.rs:526:27 | -| 5 | `(u8, u8)` | fixtures/reject/src/lib.rs:1243:31 | -| 5 | `Gap` | fixtures/reject/src/lib.rs:879:10 | +| 6 | `u32` | fixtures/reject/src/lib.rs:532:27 | +| 5 | `(u8, u8)` | fixtures/reject/src/lib.rs:1249:31 | +| 5 | `Gap` | fixtures/reject/src/lib.rs:885:10 | | 5 | `Option` | fixtures/reject/src/lib.rs:16:15 | | 5 | `u8` | fixtures/reject/src/lib.rs:253:6 | | 4 | `Iterator` | fixtures/reject/src/lib.rs:37:4 | | 4 | `std::pin::Pin` | fixtures/reject/src/lib.rs:91:2 | | 4 | `std::str` | fixtures/reject/src/lib.rs:417:4 | -| 3 | `*const [u8; 4]` | fixtures/reject/src/lib.rs:1684:33 | -| 3 | `Mid` | fixtures/reject/src/lib.rs:1326:34 | -| 3 | `Outer` | fixtures/reject/src/lib.rs:1326:34 | +| 3 | `*const [u8; 4]` | fixtures/reject/src/lib.rs:1690:33 | +| 3 | `Mid` | fixtures/reject/src/lib.rs:1332:34 | +| 3 | `Outer` | fixtures/reject/src/lib.rs:1332:34 | | 3 | `Reused` | fixtures/reject/src/lib.rs:21:4 | -| 3 | `std::ptr` | fixtures/reject/src/lib.rs:1681:3 | +| 3 | `dyn std::any::Any` | fixtures/reject/src/lib.rs:503:32 | +| 3 | `std::ptr` | fixtures/reject/src/lib.rs:1687:3 | | 3 | `std::vec::Vec` | fixtures/reject/src/lib.rs:295:16 | | 3 | `{closure}` | fixtures/reject/src/lib.rs:304:4 | -| 2 | `(u16, u16)` | fixtures/reject/src/lib.rs:1147:31 | +| 2 | `(u16, u16)` | fixtures/reject/src/lib.rs:1153:31 | | 2 | `Counted` | fixtures/reject/src/lib.rs:367:2 | -| 2 | `InArray` | fixtures/reject/src/lib.rs:1273:9 | -| 2 | `InPayload` | fixtures/reject/src/lib.rs:1285:9 | -| 2 | `InTuple` | fixtures/reject/src/lib.rs:1277:9 | -| 2 | `InWritten` | fixtures/reject/src/lib.rs:1297:9 | -| 2 | `Inside` | fixtures/reject/src/lib.rs:1816:20 | +| 2 | `InArray` | fixtures/reject/src/lib.rs:1279:9 | +| 2 | `InPayload` | fixtures/reject/src/lib.rs:1291:9 | +| 2 | `InTuple` | fixtures/reject/src/lib.rs:1283:9 | +| 2 | `InWritten` | fixtures/reject/src/lib.rs:1303:9 | +| 2 | `Inside` | fixtures/reject/src/lib.rs:1822:20 | | 2 | `Poll` | fixtures/reject/src/lib.rs:72:20 | | 2 | `Scaled` | fixtures/reject/src/lib.rs:435:23 | -| 2 | `[u8; 2]` | fixtures/reject/src/lib.rs:1697:37 | -| 2 | `[u8; 3]` | fixtures/reject/src/lib.rs:1697:15 | +| 2 | `[u8; 2]` | fixtures/reject/src/lib.rs:1703:37 | +| 2 | `[u8; 3]` | fixtures/reject/src/lib.rs:1703:15 | +| 2 | `dyn Keyed` | fixtures/reject/src/lib.rs:503:32 | | 2 | `dyn Scaled` | fixtures/reject/src/lib.rs:435:23 | -| 2 | `dyn std::any::Any` | fixtures/reject/src/lib.rs:503:32 | | 2 | `dyn std::iter::Iterator` | fixtures/reject/src/lib.rs:11:16 | | 2 | `slice` | fixtures/reject/src/lib.rs:21:4 | -| 2 | `std::any::TypeId` | fixtures/reject/src/lib.rs:509:2 | +| 2 | `std::any::TypeId` | fixtures/reject/src/lib.rs:515:2 | | 2 | `std::collections::BTreeSet` | fixtures/reject/src/lib.rs:235:75 | -| 2 | `std::collections::LinkedList` | fixtures/reject/src/lib.rs:2088:4 | -| 2 | `std::mem::MaybeUninit` | fixtures/reject/src/lib.rs:893:19 | +| 2 | `std::collections::LinkedList` | fixtures/reject/src/lib.rs:2094:4 | +| 2 | `std::mem::MaybeUninit` | fixtures/reject/src/lib.rs:899:19 | | 2 | `std::ops::Range` | fixtures/reject/src/lib.rs:160:8 | | 2 | `std::option::Option` | fixtures/reject/src/lib.rs:347:2 | -| 2 | `std::ptr::const_ptr` | fixtures/reject/src/lib.rs:1684:73 | -| 2 | `std::std` | fixtures/reject/src/lib.rs:538:11 | +| 2 | `std::ptr::const_ptr` | fixtures/reject/src/lib.rs:1690:73 | +| 2 | `std::std` | fixtures/reject/src/lib.rs:544:11 | | 2 | `std::sync::Arc` | fixtures/reject/src/lib.rs:276:2 | | 2 | `std::sync::MutexGuard` | fixtures/reject/src/lib.rs:83:2 | | 2 | `std::vec::IntoIter` | fixtures/reject/src/lib.rs:412:17 | -| 1 | `(Dropped, (u8, u8))` | fixtures/reject/src/lib.rs:2234:2 | -| 1 | `([Cloned; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2218:2 | -| 1 | `([Greatest; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2252:13 | -| 1 | `([Touched; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2283:2 | -| 1 | `(std::vec::Vec, Tens)` | fixtures/reject/src/lib.rs:1243:31 | -| 1 | `(u16, ByKeyReplace)` | fixtures/reject/src/lib.rs:1592:55 | -| 1 | `(u16, ByKeySet)` | fixtures/reject/src/lib.rs:1584:51 | -| 1 | `(u16, ByKeyTake)` | fixtures/reject/src/lib.rs:1599:52 | -| 1 | `(u16, ByRefReplace)` | fixtures/reject/src/lib.rs:1568:32 | -| 1 | `(u16, ByRefTake)` | fixtures/reject/src/lib.rs:1576:32 | -| 1 | `(u16, InTuple)` | fixtures/reject/src/lib.rs:1317:33 | -| 1 | `*const [u8]` | fixtures/reject/src/lib.rs:1685:28 | -| 1 | `*const u8` | fixtures/reject/src/lib.rs:1684:33 | -| 1 | `*mut [u8; 4]` | fixtures/reject/src/lib.rs:1683:41 | -| 1 | `Aliased` | fixtures/reject/src/lib.rs:1091:29 | -| 1 | `Assigned` | fixtures/reject/src/lib.rs:1983:20 | +| 1 | `(Dropped, (u8, u8))` | fixtures/reject/src/lib.rs:2240:2 | +| 1 | `([Cloned; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2224:2 | +| 1 | `([Greatest; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2258:13 | +| 1 | `([Touched; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2289:2 | +| 1 | `(std::vec::Vec, Tens)` | fixtures/reject/src/lib.rs:1249:31 | +| 1 | `(u16, ByKeyReplace)` | fixtures/reject/src/lib.rs:1598:55 | +| 1 | `(u16, ByKeySet)` | fixtures/reject/src/lib.rs:1590:51 | +| 1 | `(u16, ByKeyTake)` | fixtures/reject/src/lib.rs:1605:52 | +| 1 | `(u16, ByRefReplace)` | fixtures/reject/src/lib.rs:1574:32 | +| 1 | `(u16, ByRefTake)` | fixtures/reject/src/lib.rs:1582:32 | +| 1 | `(u16, InTuple)` | fixtures/reject/src/lib.rs:1323:33 | +| 1 | `*const [u8]` | fixtures/reject/src/lib.rs:1691:28 | +| 1 | `*const u8` | fixtures/reject/src/lib.rs:1690:33 | +| 1 | `*mut [u8; 4]` | fixtures/reject/src/lib.rs:1689:41 | +| 1 | `Aliased` | fixtures/reject/src/lib.rs:1097:29 | +| 1 | `Assigned` | fixtures/reject/src/lib.rs:1989:20 | | 1 | `Batched` | fixtures/reject/src/lib.rs:295:16 | -| 1 | `Behind` | fixtures/reject/src/lib.rs:1722:22 | -| 1 | `Bits` | fixtures/reject/src/lib.rs:553:1 | -| 1 | `Blank` | fixtures/reject/src/lib.rs:732:2 | -| 1 | `Block` | fixtures/reject/src/lib.rs:2068:1 | -| 1 | `ByBox` | fixtures/reject/src/lib.rs:1475:35 | -| 1 | `ByClosure` | fixtures/reject/src/lib.rs:1490:35 | -| 1 | `ByExchanged` | fixtures/reject/src/lib.rs:1536:30 | -| 1 | `ByInstance` | fixtures/reject/src/lib.rs:1516:35 | -| 1 | `ByKeyReplace` | fixtures/reject/src/lib.rs:1592:55 | -| 1 | `ByKeySet` | fixtures/reject/src/lib.rs:1584:51 | -| 1 | `ByKeyTake` | fixtures/reject/src/lib.rs:1599:52 | -| 1 | `ByObject` | fixtures/reject/src/lib.rs:1503:35 | -| 1 | `ByRead` | fixtures/reject/src/lib.rs:1426:35 | -| 1 | `ByRefReplace` | fixtures/reject/src/lib.rs:1568:32 | -| 1 | `ByRefTake` | fixtures/reject/src/lib.rs:1576:32 | -| 1 | `ByReplace` | fixtures/reject/src/lib.rs:1464:35 | -| 1 | `BySwap` | fixtures/reject/src/lib.rs:1452:35 | -| 1 | `BySwapped` | fixtures/reject/src/lib.rs:1525:76 | -| 1 | `ByWrite` | fixtures/reject/src/lib.rs:1439:35 | +| 1 | `Behind` | fixtures/reject/src/lib.rs:1728:22 | +| 1 | `Bits` | fixtures/reject/src/lib.rs:559:1 | +| 1 | `Blank` | fixtures/reject/src/lib.rs:738:2 | +| 1 | `Block` | fixtures/reject/src/lib.rs:2074:1 | +| 1 | `ByBox` | fixtures/reject/src/lib.rs:1481:35 | +| 1 | `ByClosure` | fixtures/reject/src/lib.rs:1496:35 | +| 1 | `ByExchanged` | fixtures/reject/src/lib.rs:1542:30 | +| 1 | `ByInstance` | fixtures/reject/src/lib.rs:1522:35 | +| 1 | `ByKeyReplace` | fixtures/reject/src/lib.rs:1598:55 | +| 1 | `ByKeySet` | fixtures/reject/src/lib.rs:1590:51 | +| 1 | `ByKeyTake` | fixtures/reject/src/lib.rs:1605:52 | +| 1 | `ByObject` | fixtures/reject/src/lib.rs:1509:35 | +| 1 | `ByRead` | fixtures/reject/src/lib.rs:1432:35 | +| 1 | `ByRefReplace` | fixtures/reject/src/lib.rs:1574:32 | +| 1 | `ByRefTake` | fixtures/reject/src/lib.rs:1582:32 | +| 1 | `ByReplace` | fixtures/reject/src/lib.rs:1470:35 | +| 1 | `BySwap` | fixtures/reject/src/lib.rs:1458:35 | +| 1 | `BySwapped` | fixtures/reject/src/lib.rs:1531:76 | +| 1 | `ByWrite` | fixtures/reject/src/lib.rs:1445:35 | | 1 | `BytesMut` | fixtures/reject/src/lib.rs:361:6 | -| 1 | `Called` | fixtures/reject/src/lib.rs:1057:28 | -| 1 | `Chosen` | fixtures/reject/src/lib.rs:1877:17 | -| 1 | `Clone` | fixtures/reject/src/lib.rs:2140:4 | -| 1 | `Closed` | fixtures/reject/src/lib.rs:2049:15 | -| 1 | `Compared` | fixtures/reject/src/lib.rs:1844:22 | -| 1 | `Copied` | fixtures/reject/src/lib.rs:1147:31 | -| 1 | `Deep` | fixtures/reject/src/lib.rs:1758:18 | -| 1 | `Deeper` | fixtures/reject/src/lib.rs:2009:22 | +| 1 | `Called` | fixtures/reject/src/lib.rs:1063:28 | +| 1 | `Chosen` | fixtures/reject/src/lib.rs:1883:17 | +| 1 | `Clone` | fixtures/reject/src/lib.rs:2146:4 | +| 1 | `Closed` | fixtures/reject/src/lib.rs:2055:15 | +| 1 | `Compared` | fixtures/reject/src/lib.rs:1850:22 | +| 1 | `Copied` | fixtures/reject/src/lib.rs:1153:31 | +| 1 | `Deep` | fixtures/reject/src/lib.rs:1764:18 | +| 1 | `Deeper` | fixtures/reject/src/lib.rs:2015:22 | | 1 | `DoubleEndedIterator` | fixtures/reject/src/lib.rs:145:1 | -| 1 | `Dynamic` | fixtures/reject/src/lib.rs:2033:20 | -| 1 | `Enclosing` | fixtures/reject/src/lib.rs:1861:22 | -| 1 | `Escaped` | fixtures/reject/src/lib.rs:1043:43 | +| 1 | `Dynamic` | fixtures/reject/src/lib.rs:2039:20 | +| 1 | `Enclosing` | fixtures/reject/src/lib.rs:1867:22 | +| 1 | `Escaped` | fixtures/reject/src/lib.rs:1049:43 | | 1 | `FusedIterator` | fixtures/reject/src/lib.rs:193:1 | -| 1 | `Fused` | fixtures/reject/src/lib.rs:699:70 | +| 1 | `Fused` | fixtures/reject/src/lib.rs:705:70 | | 1 | `HashMap` | fixtures/reject/src/lib.rs:253:6 | -| 1 | `Hits` | fixtures/reject/src/lib.rs:691:21 | -| 1 | `InField` | fixtures/reject/src/lib.rs:1289:9 | -| 1 | `InGeneric` | fixtures/reject/src/lib.rs:1293:9 | -| 1 | `InNested` | fixtures/reject/src/lib.rs:1281:9 | -| 1 | `Lane` | fixtures/reject/src/lib.rs:843:19 | -| 1 | `Loaded` | fixtures/reject/src/lib.rs:1113:29 | -| 1 | `Looped` | fixtures/reject/src/lib.rs:1081:26 | -| 1 | `Mapped` | fixtures/reject/src/lib.rs:1158:39 | +| 1 | `Hits` | fixtures/reject/src/lib.rs:697:21 | +| 1 | `InField` | fixtures/reject/src/lib.rs:1295:9 | +| 1 | `InGeneric` | fixtures/reject/src/lib.rs:1299:9 | +| 1 | `InNested` | fixtures/reject/src/lib.rs:1287:9 | +| 1 | `Lane` | fixtures/reject/src/lib.rs:849:19 | +| 1 | `Loaded` | fixtures/reject/src/lib.rs:1119:29 | +| 1 | `Looped` | fixtures/reject/src/lib.rs:1087:26 | +| 1 | `Mapped` | fixtures/reject/src/lib.rs:1164:39 | | 1 | `Maybe` | fixtures/reject/src/lib.rs:31:2 | -| 1 | `Onced` | fixtures/reject/src/lib.rs:1204:46 | -| 1 | `Only` | fixtures/reject/src/lib.rs:708:11 | -| 1 | `Parked` | fixtures/reject/src/lib.rs:2108:20 | -| 1 | `Parking` | fixtures/reject/src/lib.rs:2108:20 | -| 1 | `Plain` | fixtures/reject/src/lib.rs:797:10 | -| 1 | `Pushed` | fixtures/reject/src/lib.rs:1219:22 | -| 1 | `Repeated` | fixtures/reject/src/lib.rs:1192:18 | -| 1 | `Replaced` | fixtures/reject/src/lib.rs:1928:20 | -| 1 | `Rewritten` | fixtures/reject/src/lib.rs:1101:47 | -| 1 | `Shared` | fixtures/reject/src/lib.rs:1799:20 | +| 1 | `Onced` | fixtures/reject/src/lib.rs:1210:46 | +| 1 | `Only` | fixtures/reject/src/lib.rs:714:11 | +| 1 | `Parked` | fixtures/reject/src/lib.rs:2114:20 | +| 1 | `Parking` | fixtures/reject/src/lib.rs:2114:20 | +| 1 | `Plain` | fixtures/reject/src/lib.rs:803:10 | +| 1 | `Pushed` | fixtures/reject/src/lib.rs:1225:22 | +| 1 | `Repeated` | fixtures/reject/src/lib.rs:1198:18 | +| 1 | `Replaced` | fixtures/reject/src/lib.rs:1934:20 | +| 1 | `Rewritten` | fixtures/reject/src/lib.rs:1107:47 | +| 1 | `Shared` | fixtures/reject/src/lib.rs:1805:20 | | 1 | `Sink` | fixtures/reject/src/lib.rs:55:10 | -| 1 | `Slotted` | fixtures/reject/src/lib.rs:1780:21 | -| 1 | `Span2` | fixtures/reject/src/lib.rs:579:10 | -| 1 | `String` | fixtures/reject/src/lib.rs:755:4 | -| 1 | `Swapped` | fixtures/reject/src/lib.rs:1946:20 | +| 1 | `Slotted` | fixtures/reject/src/lib.rs:1786:21 | +| 1 | `Span2` | fixtures/reject/src/lib.rs:585:10 | +| 1 | `String` | fixtures/reject/src/lib.rs:761:4 | +| 1 | `Swapped` | fixtures/reject/src/lib.rs:1952:20 | | 1 | `T \| undefined` | fixtures/reject/src/lib.rs:31:2 | | 1 | `Tail` | fixtures/reject/src/lib.rs:462:30 | -| 1 | `Taken` | fixtures/reject/src/lib.rs:1964:20 | -| 1 | `Target` | fixtures/reject/src/lib.rs:1640:10 | -| 1 | `Tens` | fixtures/reject/src/lib.rs:1243:31 | -| 1 | `Track` | fixtures/reject/src/lib.rs:823:19 | -| 1 | `Unboxed` | fixtures/reject/src/lib.rs:1737:16 | +| 1 | `Taken` | fixtures/reject/src/lib.rs:1970:20 | +| 1 | `Target` | fixtures/reject/src/lib.rs:1646:10 | +| 1 | `Tens` | fixtures/reject/src/lib.rs:1249:31 | +| 1 | `Track` | fixtures/reject/src/lib.rs:829:19 | +| 1 | `Unboxed` | fixtures/reject/src/lib.rs:1743:16 | | 1 | `Waiting` | fixtures/reject/src/lib.rs:473:2 | -| 1 | `Window` | fixtures/reject/src/lib.rs:640:2 | -| 1 | `Wrapped` | fixtures/reject/src/lib.rs:1905:21 | -| 1 | `[InArray; 2]` | fixtures/reject/src/lib.rs:1308:33 | -| 1 | `[InWritten; 1]` | fixtures/reject/src/lib.rs:1369:35 | -| 1 | `[std::cell::UnsafeCell; 2]` | fixtures/reject/src/lib.rs:2062:20 | -| 1 | `dyn Keyed` | fixtures/reject/src/lib.rs:503:32 | +| 1 | `Window` | fixtures/reject/src/lib.rs:646:2 | +| 1 | `Wrapped` | fixtures/reject/src/lib.rs:1911:21 | +| 1 | `[InArray; 2]` | fixtures/reject/src/lib.rs:1314:33 | +| 1 | `[InWritten; 1]` | fixtures/reject/src/lib.rs:1375:35 | +| 1 | `[std::cell::UnsafeCell; 2]` | fixtures/reject/src/lib.rs:2068:20 | | 1 | `poll` | fixtures/reject/src/lib.rs:473:2 | | 1 | `rt.Poll` | fixtures/reject/src/lib.rs:473:2 | -| 1 | `std::any::Any` | fixtures/reject/src/lib.rs:509:4 | -| 1 | `std::cell::Cell` | fixtures/reject/src/lib.rs:926:22 | -| 1 | `std::cell::LazyCell` | fixtures/reject/src/lib.rs:2177:3 | -| 1 | `std::collections::BTreeMap` | fixtures/reject/src/lib.rs:926:22 | +| 1 | `std::any::Any` | fixtures/reject/src/lib.rs:515:4 | +| 1 | `std::cell::Cell` | fixtures/reject/src/lib.rs:932:22 | +| 1 | `std::cell::LazyCell` | fixtures/reject/src/lib.rs:2183:3 | +| 1 | `std::collections::BTreeMap` | fixtures/reject/src/lib.rs:932:22 | | 1 | `std::collections::HashMap` | fixtures/reject/src/lib.rs:253:6 | -| 1 | `std::default::Default` | fixtures/reject/src/lib.rs:2090:2 | +| 1 | `std::default::Default` | fixtures/reject/src/lib.rs:2096:2 | | 1 | `std::iter::Map` | fixtures/reject/src/lib.rs:209:40 | | 1 | `std::iter::Zip` | fixtures/reject/src/lib.rs:202:8 | -| 1 | `std::iter` | fixtures/reject/src/lib.rs:1206:22 | -| 1 | `std::mem` | fixtures/reject/src/lib.rs:2145:2 | +| 1 | `std::iter` | fixtures/reject/src/lib.rs:1212:22 | +| 1 | `std::mem` | fixtures/reject/src/lib.rs:2151:2 | | 1 | `std::net::AddrParseError` | fixtures/reject/src/lib.rs:416:32 | | 1 | `std::net::Ipv4Addr` | fixtures/reject/src/lib.rs:416:32 | -| 1 | `std::num` | fixtures/reject/src/lib.rs:1248:4 | -| 1 | `std::ops::RangeFrom` | fixtures/reject/src/lib.rs:955:32 | -| 1 | `std::ops::RangeTo` | fixtures/reject/src/lib.rs:955:11 | -| 1 | `std::ptr::mut_ptr` | fixtures/reject/src/lib.rs:1684:56 | -| 1 | `std::slice::IterMut` | fixtures/reject/src/lib.rs:737:15 | -| 1 | `std::std::Layout` | fixtures/reject/src/lib.rs:536:15 | -| 1 | `std::sync::LazyLock` | fixtures/reject/src/lib.rs:2182:2 | +| 1 | `std::num` | fixtures/reject/src/lib.rs:1254:4 | +| 1 | `std::ops::RangeFrom` | fixtures/reject/src/lib.rs:961:32 | +| 1 | `std::ops::RangeTo` | fixtures/reject/src/lib.rs:961:11 | +| 1 | `std::ptr::mut_ptr` | fixtures/reject/src/lib.rs:1690:56 | +| 1 | `std::slice::IterMut` | fixtures/reject/src/lib.rs:743:15 | +| 1 | `std::std::Layout` | fixtures/reject/src/lib.rs:542:15 | +| 1 | `std::sync::LazyLock` | fixtures/reject/src/lib.rs:2188:2 | | 1 | `std::task::Poll` | fixtures/reject/src/lib.rs:77:34 | -| 1 | `std::thread::LocalKey` | fixtures/reject/src/lib.rs:2188:2 | +| 1 | `std::thread::LocalKey` | fixtures/reject/src/lib.rs:2194:2 | | 1 | `str` | fixtures/reject/src/lib.rs:304:4 | | 1 | `u64` | fixtures/reject/src/lib.rs:68:2 | | 1 | `value` | fixtures/reject/src/lib.rs:31:2 | @@ -254,180 +254,180 @@ The type or module each refused type or path belongs to. | Count | Construct | Type or path | First | | ---: | --- | --- | --- | -| 17 | a raw pointer to `_` in a variable assigned again while it may point there | `(u32, u32)` | fixtures/reject/src/lib.rs:587:10 | +| 17 | a raw pointer to `_` in a variable assigned again while it may point there | `(u32, u32)` | fixtures/reject/src/lib.rs:593:10 | | 4 | a variant of `_`, which is not supported: either is the same JS string | `std::borrow::Cow` | fixtures/reject/src/lib.rs:309:2 | -| 3 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Gap` | fixtures/reject/src/lib.rs:879:10 | -| 3 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `Mid`, `Outer` | fixtures/reject/src/lib.rs:1326:34 | +| 3 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Gap` | fixtures/reject/src/lib.rs:885:10 | +| 3 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `Mid`, `Outer` | fixtures/reject/src/lib.rs:1332:34 | | 3 | unsupported type `_` | `f16` | fixtures/reject/src/lib.rs:7:14 | | 2 | `_` is not supported: its `None` and `Some` would both be `rt.None` | `Option` | fixtures/reject/src/lib.rs:16:15 | | 2 | `_` of `_`, whose `None` is `rt.None`, which is not supported yet | `Iterator::scan`, `Option` | fixtures/reject/src/lib.rs:37:4 | | 2 | `_`, a trait object of another crate's trait, which is not supported yet | `dyn std::iter::Iterator` | fixtures/reject/src/lib.rs:11:16 | | 2 | `_`, a trait object of the generic trait `_`, which is not supported yet | `dyn Scaled`, `Scaled` | fixtures/reject/src/lib.rs:435:23 | -| 2 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::mem::MaybeUninit`, `Gap` | fixtures/reject/src/lib.rs:893:19 | -| 2 | a raw pointer to `_` in a variable assigned again while it may point there | `[u8; 4]` | fixtures/reject/src/lib.rs:1704:26 | -| 2 | a raw pointer to `_` in a variable assigned again while it may point there | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:667:15 | -| 2 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `[u8; 2]` | fixtures/reject/src/lib.rs:1697:37 | -| 2 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `[u8; 3]` | fixtures/reject/src/lib.rs:1697:15 | -| 2 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Inside` | fixtures/reject/src/lib.rs:1816:20 | -| 2 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `[u8; 4]` | fixtures/reject/src/lib.rs:1704:26 | +| 2 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::mem::MaybeUninit`, `Gap` | fixtures/reject/src/lib.rs:899:19 | +| 2 | a raw pointer to `_` in a variable assigned again while it may point there | `[u8; 4]` | fixtures/reject/src/lib.rs:1710:26 | +| 2 | a raw pointer to `_` in a variable assigned again while it may point there | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:673:15 | +| 2 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `[u8; 2]` | fixtures/reject/src/lib.rs:1703:37 | +| 2 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `[u8; 3]` | fixtures/reject/src/lib.rs:1703:15 | +| 2 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Inside` | fixtures/reject/src/lib.rs:1822:20 | +| 2 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `[u8; 4]` | fixtures/reject/src/lib.rs:1710:26 | | 2 | an assignment through a reference to `_` | `std::pin::Pin` | fixtures/reject/src/lib.rs:107:2 | -| 2 | comparing pointers to `_`, each a place JS makes of its own | `u32` | fixtures/reject/src/lib.rs:567:2 | +| 2 | an upcast from `_` to `_`, which is not supported yet | `dyn Keyed`, `dyn std::any::Any` | fixtures/reject/src/lib.rs:503:32 | +| 2 | comparing pointers to `_`, each a place JS makes of its own | `u32` | fixtures/reject/src/lib.rs:573:2 | | 2 | replacing the value behind a reference to `_` | `std::pin::Pin` | fixtures/reject/src/lib.rs:91:2 | | 2 | unsupported call to `_` | `::sum` | fixtures/reject/src/lib.rs:412:17 | -| 1 | `Buf::copy_to_bytes` of `_`, a value JS copies, which is not supported | `Blank` | fixtures/reject/src/lib.rs:732:2 | +| 1 | `Buf::copy_to_bytes` of `_`, a value JS copies, which is not supported | `Blank` | fixtures/reject/src/lib.rs:738:2 | | 1 | `BufMut::put` of `_` into a `BytesMut`, which advances it by the room left in a capacity that depends on whether the other handles of its storage dropped, which is not supported | `Counted` | fixtures/reject/src/lib.rs:372:2 | | 1 | `BufMut::put` of `_` into a `BytesMut`, which picks the methods it calls by a capacity that depends on whether the other handles of its storage dropped, which is not supported | `Counted` | fixtures/reject/src/lib.rs:367:2 | | 1 | `Bytes::from_owner` of `_`, which would drop with the last clone of what it makes, which is not supported | `std::sync::Arc` | fixtures/reject/src/lib.rs:352:2 | -| 1 | `Extend` of `_` by `_`, whose `_` of `_` is not supported yet | `(std::vec::Vec, Tens)`, `(u8, u8)`, `Tens`, `u8` | fixtures/reject/src/lib.rs:1243:31 | +| 1 | `Extend` of `_` by `_`, whose `_` of `_` is not supported yet | `(std::vec::Vec, Tens)`, `(u8, u8)`, `Tens`, `u8` | fixtures/reject/src/lib.rs:1249:31 | | 1 | `_` is not supported: its `Pending` and `Ready` would both be `rt.OuterPending` | `Poll` | fixtures/reject/src/lib.rs:72:20 | | 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `None` would be `rt.None` as `_` | `Maybe`, `value`, `Option`, `T \| undefined`, `Option` | fixtures/reject/src/lib.rs:31:2 | | 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `Pending` would be `rt.OuterPending` as `_` | `Waiting`, `poll`, `Poll`, `rt.Poll`, `Poll` | fixtures/reject/src/lib.rs:473:2 | | 1 | `_` of `_` by `_`, which is not supported yet | `HashMap::contains_key`, `std::collections::HashMap`, `u8` | fixtures/reject/src/lib.rs:253:6 | -| 1 | `_` of `_`, which is not supported yet | `std::any::Any::type_id`, `dyn std::any::Any` | fixtures/reject/src/lib.rs:509:4 | -| 1 | `_` of `_`, whose `clone_from` is its own, which is not supported yet | `Clone::clone_from`, `std::vec::Vec` | fixtures/reject/src/lib.rs:2140:4 | +| 1 | `_` of `_`, which is not supported yet | `std::any::Any::type_id`, `dyn std::any::Any` | fixtures/reject/src/lib.rs:515:4 | +| 1 | `_` of `_`, whose `clone_from` is its own, which is not supported yet | `Clone::clone_from`, `std::vec::Vec` | fixtures/reject/src/lib.rs:2146:4 | | 1 | `_` of `_`, whose `clone_from` is its own, which is not supported yet | `slice::clone_from_slice`, `Reused` | fixtures/reject/src/lib.rs:271:4 | | 1 | `_` of `_`, whose `clone_from` is its own, which is not supported yet | `slice::fill`, `Reused` | fixtures/reject/src/lib.rs:21:4 | -| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::collections::LinkedList::retain` | fixtures/reject/src/lib.rs:2088:4 | -| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::default::Default::default` | fixtures/reject/src/lib.rs:2090:2 | -| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::iter::once` | fixtures/reject/src/lib.rs:1206:22 | -| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::str::from_utf8_mut` | fixtures/reject/src/lib.rs:1613:20 | -| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::str::get_unchecked_mut` | fixtures/reject/src/lib.rs:1608:13 | +| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::collections::LinkedList::retain` | fixtures/reject/src/lib.rs:2094:4 | +| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::default::Default::default` | fixtures/reject/src/lib.rs:2096:2 | +| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::iter::once` | fixtures/reject/src/lib.rs:1212:22 | +| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::str::from_utf8_mut` | fixtures/reject/src/lib.rs:1619:20 | +| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::str::get_unchecked_mut` | fixtures/reject/src/lib.rs:1614:13 | | 1 | `_`, which reads a capacity that depends on whether the other handles of its storage dropped, which is not supported | `BytesMut::capacity` | fixtures/reject/src/lib.rs:361:6 | -| 1 | `clone_from` of `_`, whose items' `clone_from` is their own, which is not supported yet | `std::collections::LinkedList` | fixtures/reject/src/lib.rs:2089:4 | -| 1 | `collect` of `_`, which sorts by `_`'s own `Ord`, of entries that drop, which is not supported yet | `std::collections::BTreeMap`, `std::cell::Cell` | fixtures/reject/src/lib.rs:926:22 | +| 1 | `clone_from` of `_`, whose items' `clone_from` is their own, which is not supported yet | `std::collections::LinkedList` | fixtures/reject/src/lib.rs:2095:4 | +| 1 | `collect` of `_`, which sorts by `_`'s own `Ord`, of entries that drop, which is not supported yet | `std::collections::BTreeMap`, `std::cell::Cell` | fixtures/reject/src/lib.rs:932:22 | | 1 | `fmt::Arguments` with a placeholder, or not made in place, written to `_`'s own `fmt::Write`, which is not supported yet: std splits what a placeholder writes into `write_str` calls the runtime does not make | `Sink` | fixtures/reject/src/lib.rs:55:10 | | 1 | a `collect` in place of `_`, a zip std reads by index, holding values that drop, which is not supported yet | `std::iter::Map` | fixtures/reject/src/lib.rs:209:40 | | 1 | a `skip` of `_`, a zip std reads by index, of items that drop, which is not supported yet | `std::iter::Zip` | fixtures/reject/src/lib.rs:202:8 | | 1 | a cast from `_` to `_` | `u64`, `f16` | fixtures/reject/src/lib.rs:68:2 | -| 1 | a cast from `_` to `_`, which reads the bytes of one type as another | `*const [u8; 4]`, `*const u8` | fixtures/reject/src/lib.rs:1684:33 | -| 1 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `[u8; 4]`, `u8` | fixtures/reject/src/lib.rs:1684:17 | -| 1 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `u32`, `u8` | fixtures/reject/src/lib.rs:526:27 | -| 1 | a coercion of `_` to `_`, a pointer to a slice | `*const [u8; 4]`, `*const [u8]` | fixtures/reject/src/lib.rs:1685:28 | +| 1 | a cast from `_` to `_`, which reads the bytes of one type as another | `*const [u8; 4]`, `*const u8` | fixtures/reject/src/lib.rs:1690:33 | +| 1 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `[u8; 4]`, `u8` | fixtures/reject/src/lib.rs:1690:17 | +| 1 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `u32`, `u8` | fixtures/reject/src/lib.rs:532:27 | +| 1 | a coercion of `_` to `_`, a pointer to a slice | `*const [u8; 4]`, `*const [u8]` | fixtures/reject/src/lib.rs:1691:28 | | 1 | a coercion to `_` | `std::sync::Arc` | fixtures/reject/src/lib.rs:276:2 | | 1 | a coercion to `_`, which is not supported yet | `&Tail` | fixtures/reject/src/lib.rs:462:30 | -| 1 | a constant of type `_`, a pointer into memory translation can't name | `&u32` | fixtures/reject/src/lib.rs:749:3 | -| 1 | a dangling pointer to `_`, a value of no bytes made of more than structs and tuples | `Only` | fixtures/reject/src/lib.rs:708:11 | +| 1 | a constant of type `_`, a pointer into memory translation can't name | `&u32` | fixtures/reject/src/lib.rs:755:3 | +| 1 | a dangling pointer to `_`, a value of no bytes made of more than structs and tuples | `Only` | fixtures/reject/src/lib.rs:714:11 | | 1 | a future of `_`, which can be `rt.Pending`, as the future's own `Pending` is | `std::task::Poll` | fixtures/reject/src/lib.rs:77:34 | -| 1 | a mapped guard of `_`, which JS can't write in place | `{closure}` | fixtures/reject/src/lib.rs:2123:10 | -| 1 | a raw pointer to `_` behind a reference, which is the object and not where it is kept | `std::vec::Vec` | fixtures/reject/src/lib.rs:548:10 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u16, u16)`, `Copied` | fixtures/reject/src/lib.rs:1147:31 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u16, u16)`, `Pushed` | fixtures/reject/src/lib.rs:1219:22 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Lane` | fixtures/reject/src/lib.rs:843:19 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Plain` | fixtures/reject/src/lib.rs:797:10 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Span2` | fixtures/reject/src/lib.rs:579:10 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Track` | fixtures/reject/src/lib.rs:823:19 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Window` | fixtures/reject/src/lib.rs:640:2 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:658:15 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `(Dropped, (u8, u8))` | fixtures/reject/src/lib.rs:2234:2 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Cloned; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2218:2 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Greatest; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2252:13 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Touched; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2283:2 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeyReplace`, `(u16, ByKeyReplace)` | fixtures/reject/src/lib.rs:1592:55 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeySet`, `(u16, ByKeySet)` | fixtures/reject/src/lib.rs:1584:51 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeyTake`, `(u16, ByKeyTake)` | fixtures/reject/src/lib.rs:1599:52 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByRefReplace`, `(u16, ByRefReplace)` | fixtures/reject/src/lib.rs:1568:32 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByRefTake`, `(u16, ByRefTake)` | fixtures/reject/src/lib.rs:1576:32 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Aliased` | fixtures/reject/src/lib.rs:1091:29 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByBox` | fixtures/reject/src/lib.rs:1475:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByClosure` | fixtures/reject/src/lib.rs:1490:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByExchanged` | fixtures/reject/src/lib.rs:1536:30 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByInstance` | fixtures/reject/src/lib.rs:1516:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByObject` | fixtures/reject/src/lib.rs:1503:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByRead` | fixtures/reject/src/lib.rs:1426:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByReplace` | fixtures/reject/src/lib.rs:1464:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `BySwap` | fixtures/reject/src/lib.rs:1452:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `BySwapped` | fixtures/reject/src/lib.rs:1525:76 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByWrite` | fixtures/reject/src/lib.rs:1439:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Called` | fixtures/reject/src/lib.rs:1057:28 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Escaped` | fixtures/reject/src/lib.rs:1043:43 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Hits` | fixtures/reject/src/lib.rs:691:21 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InArray` | fixtures/reject/src/lib.rs:1273:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InField` | fixtures/reject/src/lib.rs:1289:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InGeneric` | fixtures/reject/src/lib.rs:1293:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InNested` | fixtures/reject/src/lib.rs:1281:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InPayload` | fixtures/reject/src/lib.rs:1285:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InTuple` | fixtures/reject/src/lib.rs:1277:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InWritten` | fixtures/reject/src/lib.rs:1297:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Loaded` | fixtures/reject/src/lib.rs:1113:29 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Looped` | fixtures/reject/src/lib.rs:1081:26 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Mapped` | fixtures/reject/src/lib.rs:1158:39 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Onced` | fixtures/reject/src/lib.rs:1204:46 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Repeated` | fixtures/reject/src/lib.rs:1192:18 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Rewritten` | fixtures/reject/src/lib.rs:1101:47 | -| 1 | a raw pointer to `_` in a variable assigned again while it may point there | `Target` | fixtures/reject/src/lib.rs:1640:10 | -| 1 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `(u32, u32)` | fixtures/reject/src/lib.rs:650:10 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InArray`, `[InArray; 2]` | fixtures/reject/src/lib.rs:1308:33 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InTuple`, `(u16, InTuple)` | fixtures/reject/src/lib.rs:1317:33 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InWritten`, `[InWritten; 1]` | fixtures/reject/src/lib.rs:1369:35 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `Parked`, `Parking` | fixtures/reject/src/lib.rs:2108:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Assigned` | fixtures/reject/src/lib.rs:1983:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Closed` | fixtures/reject/src/lib.rs:2049:15 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Deeper` | fixtures/reject/src/lib.rs:2009:22 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Dynamic` | fixtures/reject/src/lib.rs:2033:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Replaced` | fixtures/reject/src/lib.rs:1928:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Swapped` | fixtures/reject/src/lib.rs:1946:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Taken` | fixtures/reject/src/lib.rs:1964:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `[std::cell::UnsafeCell; 2]` | fixtures/reject/src/lib.rs:2062:20 | -| 1 | a reference through which a raw pointer may be made into `_` in an element, a payload, or a union field, which is not supported yet | `InPayload` | fixtures/reject/src/lib.rs:1335:11 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Behind` | fixtures/reject/src/lib.rs:1722:22 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Chosen` | fixtures/reject/src/lib.rs:1877:17 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Compared` | fixtures/reject/src/lib.rs:1844:22 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Deep` | fixtures/reject/src/lib.rs:1758:18 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Enclosing` | fixtures/reject/src/lib.rs:1861:22 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Shared` | fixtures/reject/src/lib.rs:1799:20 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Slotted` | fixtures/reject/src/lib.rs:1780:21 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Unboxed` | fixtures/reject/src/lib.rs:1737:16 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Wrapped` | fixtures/reject/src/lib.rs:1905:21 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:1626:18 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `std::option::Option` | fixtures/reject/src/lib.rs:2079:13 | +| 1 | a mapped guard of `_`, which JS can't write in place | `{closure}` | fixtures/reject/src/lib.rs:2129:10 | +| 1 | a raw pointer to `_` behind a reference, which is the object and not where it is kept | `std::vec::Vec` | fixtures/reject/src/lib.rs:554:10 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u16, u16)`, `Copied` | fixtures/reject/src/lib.rs:1153:31 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u16, u16)`, `Pushed` | fixtures/reject/src/lib.rs:1225:22 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Lane` | fixtures/reject/src/lib.rs:849:19 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Plain` | fixtures/reject/src/lib.rs:803:10 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Span2` | fixtures/reject/src/lib.rs:585:10 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Track` | fixtures/reject/src/lib.rs:829:19 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Window` | fixtures/reject/src/lib.rs:646:2 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:664:15 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `(Dropped, (u8, u8))` | fixtures/reject/src/lib.rs:2240:2 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Cloned; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2224:2 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Greatest; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2258:13 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Touched; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2289:2 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeyReplace`, `(u16, ByKeyReplace)` | fixtures/reject/src/lib.rs:1598:55 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeySet`, `(u16, ByKeySet)` | fixtures/reject/src/lib.rs:1590:51 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeyTake`, `(u16, ByKeyTake)` | fixtures/reject/src/lib.rs:1605:52 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByRefReplace`, `(u16, ByRefReplace)` | fixtures/reject/src/lib.rs:1574:32 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByRefTake`, `(u16, ByRefTake)` | fixtures/reject/src/lib.rs:1582:32 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Aliased` | fixtures/reject/src/lib.rs:1097:29 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByBox` | fixtures/reject/src/lib.rs:1481:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByClosure` | fixtures/reject/src/lib.rs:1496:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByExchanged` | fixtures/reject/src/lib.rs:1542:30 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByInstance` | fixtures/reject/src/lib.rs:1522:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByObject` | fixtures/reject/src/lib.rs:1509:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByRead` | fixtures/reject/src/lib.rs:1432:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByReplace` | fixtures/reject/src/lib.rs:1470:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `BySwap` | fixtures/reject/src/lib.rs:1458:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `BySwapped` | fixtures/reject/src/lib.rs:1531:76 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByWrite` | fixtures/reject/src/lib.rs:1445:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Called` | fixtures/reject/src/lib.rs:1063:28 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Escaped` | fixtures/reject/src/lib.rs:1049:43 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Hits` | fixtures/reject/src/lib.rs:697:21 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InArray` | fixtures/reject/src/lib.rs:1279:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InField` | fixtures/reject/src/lib.rs:1295:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InGeneric` | fixtures/reject/src/lib.rs:1299:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InNested` | fixtures/reject/src/lib.rs:1287:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InPayload` | fixtures/reject/src/lib.rs:1291:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InTuple` | fixtures/reject/src/lib.rs:1283:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InWritten` | fixtures/reject/src/lib.rs:1303:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Loaded` | fixtures/reject/src/lib.rs:1119:29 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Looped` | fixtures/reject/src/lib.rs:1087:26 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Mapped` | fixtures/reject/src/lib.rs:1164:39 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Onced` | fixtures/reject/src/lib.rs:1210:46 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Repeated` | fixtures/reject/src/lib.rs:1198:18 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Rewritten` | fixtures/reject/src/lib.rs:1107:47 | +| 1 | a raw pointer to `_` in a variable assigned again while it may point there | `Target` | fixtures/reject/src/lib.rs:1646:10 | +| 1 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `(u32, u32)` | fixtures/reject/src/lib.rs:656:10 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InArray`, `[InArray; 2]` | fixtures/reject/src/lib.rs:1314:33 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InTuple`, `(u16, InTuple)` | fixtures/reject/src/lib.rs:1323:33 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InWritten`, `[InWritten; 1]` | fixtures/reject/src/lib.rs:1375:35 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `Parked`, `Parking` | fixtures/reject/src/lib.rs:2114:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Assigned` | fixtures/reject/src/lib.rs:1989:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Closed` | fixtures/reject/src/lib.rs:2055:15 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Deeper` | fixtures/reject/src/lib.rs:2015:22 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Dynamic` | fixtures/reject/src/lib.rs:2039:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Replaced` | fixtures/reject/src/lib.rs:1934:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Swapped` | fixtures/reject/src/lib.rs:1952:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Taken` | fixtures/reject/src/lib.rs:1970:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `[std::cell::UnsafeCell; 2]` | fixtures/reject/src/lib.rs:2068:20 | +| 1 | a reference through which a raw pointer may be made into `_` in an element, a payload, or a union field, which is not supported yet | `InPayload` | fixtures/reject/src/lib.rs:1341:11 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Behind` | fixtures/reject/src/lib.rs:1728:22 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Chosen` | fixtures/reject/src/lib.rs:1883:17 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Compared` | fixtures/reject/src/lib.rs:1850:22 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Deep` | fixtures/reject/src/lib.rs:1764:18 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Enclosing` | fixtures/reject/src/lib.rs:1867:22 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Shared` | fixtures/reject/src/lib.rs:1805:20 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Slotted` | fixtures/reject/src/lib.rs:1786:21 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Unboxed` | fixtures/reject/src/lib.rs:1743:16 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Wrapped` | fixtures/reject/src/lib.rs:1911:21 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:1632:18 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `std::option::Option` | fixtures/reject/src/lib.rs:2085:13 | | 1 | a scalar constant of type `_` | `f16` | fixtures/reject/src/lib.rs:8:2 | -| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `Reused` | fixtures/reject/src/lib.rs:2135:2 | -| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `std::cell::LazyCell` | fixtures/reject/src/lib.rs:2177:3 | -| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `std::thread::LocalKey` | fixtures/reject/src/lib.rs:2188:2 | +| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `Reused` | fixtures/reject/src/lib.rs:2141:2 | +| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `std::cell::LazyCell` | fixtures/reject/src/lib.rs:2183:3 | +| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `std::thread::LocalKey` | fixtures/reject/src/lib.rs:2194:2 | | 1 | a trait object of `_`, which is not supported yet | `[u8; 4]` | fixtures/reject/src/lib.rs:452:26 | -| 1 | an assignment through a reference to `_` | `std::sync::LazyLock` | fixtures/reject/src/lib.rs:2182:2 | +| 1 | an assignment through a reference to `_` | `std::sync::LazyLock` | fixtures/reject/src/lib.rs:2188:2 | | 1 | an assignment through a reference to `_` | `std::sync::MutexGuard` | fixtures/reject/src/lib.rs:83:2 | | 1 | an iterator of the crate implementing `_`, which is not supported yet | `DoubleEndedIterator` | fixtures/reject/src/lib.rs:145:1 | | 1 | an iterator of the crate implementing `_`, which is not supported yet | `FusedIterator` | fixtures/reject/src/lib.rs:193:1 | -| 1 | an upcast from `_` to `_`, which is not supported yet | `dyn Keyed`, `dyn std::any::Any` | fixtures/reject/src/lib.rs:503:32 | | 1 | arithmetic on `_` | `f16` | fixtures/reject/src/lib.rs:8:2 | -| 1 | comparing `_` | `*mut [u8; 4]` | fixtures/reject/src/lib.rs:1683:41 | +| 1 | comparing `_` | `*mut [u8; 4]` | fixtures/reject/src/lib.rs:1689:41 | | 1 | comparing `_` as a key, which is not supported yet | `std::collections::BTreeSet` | fixtures/reject/src/lib.rs:235:75 | -| 1 | comparing pointers to `_` in an atomic, which JS has no address of | `u32` | fixtures/reject/src/lib.rs:748:15 | -| 1 | comparing pointers to `_`, which has no bytes and so no address of its own | `Fused` | fixtures/reject/src/lib.rs:699:70 | -| 1 | const generic types are not supported: `_` | `Block` | fixtures/reject/src/lib.rs:2068:1 | +| 1 | comparing pointers to `_` in an atomic, which JS has no address of | `u32` | fixtures/reject/src/lib.rs:754:15 | +| 1 | comparing pointers to `_`, which has no bytes and so no address of its own | `Fused` | fixtures/reject/src/lib.rs:705:70 | +| 1 | const generic types are not supported: `_` | `Block` | fixtures/reject/src/lib.rs:2074:1 | | 1 | constructing `_` | `std::borrow::Cow` | fixtures/reject/src/lib.rs:327:53 | | 1 | hashing `_` as a key, which is not supported yet | `std::collections::BTreeSet` | fixtures/reject/src/lib.rs:235:75 | -| 1 | hashing `_` by its address, which JS has no counterpart of | `*const [u8; 4]` | fixtures/reject/src/lib.rs:1687:5 | +| 1 | hashing `_` by its address, which JS has no counterpart of | `*const [u8; 4]` | fixtures/reject/src/lib.rs:1693:5 | | 1 | hashing `_` through `_`'s own `Hash::hash_slice`, which is not supported yet | `std::vec::Vec`, `Batched` | fixtures/reject/src/lib.rs:295:16 | | 1 | overriding `_`, which std's adaptors call in place of `next` or beside it | `Iterator::fold` | fixtures/reject/src/lib.rs:125:2 | | 1 | overriding `_`, which std's adaptors call in place of `next` or beside it | `Iterator::size_hint` | fixtures/reject/src/lib.rs:173:2 | -| 1 | passing `_`, which drops, to `_`, which is not supported yet | `{closure}`, `String::retain` | fixtures/reject/src/lib.rs:755:4 | +| 1 | passing `_`, which drops, to `_`, which is not supported yet | `{closure}`, `String::retain` | fixtures/reject/src/lib.rs:761:4 | | 1 | passing `_`, which drops, to `_`, which is not supported yet | `{closure}`, `str::contains` | fixtures/reject/src/lib.rs:304:4 | | 1 | replacing the value behind a reference to `_` | `std::sync::MutexGuard` | fixtures/reject/src/lib.rs:112:2 | -| 1 | union `_`, whose fields overlap in `_` and `f64`, which JS keeps apart | `Bits`, `u32` | fixtures/reject/src/lib.rs:553:1 | -| 1 | unsupported call to `_` | `::eq` | fixtures/reject/src/lib.rs:509:2 | -| 1 | unsupported call to `_` | `::contains` | fixtures/reject/src/lib.rs:955:32 | +| 1 | union `_`, whose fields overlap in `_` and `f64`, which JS keeps apart | `Bits`, `u32` | fixtures/reject/src/lib.rs:559:1 | +| 1 | unsupported call to `_` | `::eq` | fixtures/reject/src/lib.rs:515:2 | +| 1 | unsupported call to `_` | `::contains` | fixtures/reject/src/lib.rs:961:32 | | 1 | unsupported call to `_` | `::eq` | fixtures/reject/src/lib.rs:347:2 | -| 1 | unsupported call to `_` | `::is_sorted` | fixtures/reject/src/lib.rs:737:15 | +| 1 | unsupported call to `_` | `::is_sorted` | fixtures/reject/src/lib.rs:743:15 | | 1 | unsupported call to `_` | `::hash` | fixtures/reject/src/lib.rs:286:10 | -| 1 | unsupported call to `_` | `std::any::TypeId::of` | fixtures/reject/src/lib.rs:509:17 | +| 1 | unsupported call to `_` | `std::any::TypeId::of` | fixtures/reject/src/lib.rs:515:17 | | 1 | unsupported call to `_` | `std::borrow::Cow::is_borrowed` | fixtures/reject/src/lib.rs:321:2 | -| 1 | unsupported call to `_` | `std::mem::size_of_val` | fixtures/reject/src/lib.rs:2145:2 | -| 1 | unsupported call to `_` | `std::num::is_ascii_octdigit` | fixtures/reject/src/lib.rs:1248:4 | +| 1 | unsupported call to `_` | `std::mem::size_of_val` | fixtures/reject/src/lib.rs:2151:2 | +| 1 | unsupported call to `_` | `std::num::is_ascii_octdigit` | fixtures/reject/src/lib.rs:1254:4 | | 1 | unsupported call to `_` | `std::ops::Range::contains` | fixtures/reject/src/lib.rs:160:8 | -| 1 | unsupported call to `_` | `std::ops::Range::is_empty` | fixtures/reject/src/lib.rs:960:9 | -| 1 | unsupported call to `_` | `std::ops::RangeTo::contains` | fixtures/reject/src/lib.rs:955:11 | -| 1 | unsupported call to `_` | `std::ptr::addr_eq` | fixtures/reject/src/lib.rs:1683:14 | -| 1 | unsupported call to `_` | `std::ptr::const_ptr::len` | fixtures/reject/src/lib.rs:1688:58 | -| 1 | unsupported call to `_` | `std::ptr::const_ptr::offset` | fixtures/reject/src/lib.rs:1684:73 | -| 1 | unsupported call to `_` | `std::ptr::copy_nonoverlapping` | fixtures/reject/src/lib.rs:1682:3 | -| 1 | unsupported call to `_` | `std::ptr::copy` | fixtures/reject/src/lib.rs:1681:3 | -| 1 | unsupported call to `_` | `std::ptr::mut_ptr::add` | fixtures/reject/src/lib.rs:1684:56 | -| 1 | unsupported call to `_` | `std::std::Layout::new` | fixtures/reject/src/lib.rs:536:15 | -| 1 | unsupported call to `_` | `std::std::alloc` | fixtures/reject/src/lib.rs:538:11 | -| 1 | unsupported call to `_` | `std::std::dealloc` | fixtures/reject/src/lib.rs:541:3 | -| 1 | unsupported call to `_` | `std::str::as_bytes_mut` | fixtures/reject/src/lib.rs:1607:13 | +| 1 | unsupported call to `_` | `std::ops::Range::is_empty` | fixtures/reject/src/lib.rs:966:9 | +| 1 | unsupported call to `_` | `std::ops::RangeTo::contains` | fixtures/reject/src/lib.rs:961:11 | +| 1 | unsupported call to `_` | `std::ptr::addr_eq` | fixtures/reject/src/lib.rs:1689:14 | +| 1 | unsupported call to `_` | `std::ptr::const_ptr::len` | fixtures/reject/src/lib.rs:1694:58 | +| 1 | unsupported call to `_` | `std::ptr::const_ptr::offset` | fixtures/reject/src/lib.rs:1690:73 | +| 1 | unsupported call to `_` | `std::ptr::copy_nonoverlapping` | fixtures/reject/src/lib.rs:1688:3 | +| 1 | unsupported call to `_` | `std::ptr::copy` | fixtures/reject/src/lib.rs:1687:3 | +| 1 | unsupported call to `_` | `std::ptr::mut_ptr::add` | fixtures/reject/src/lib.rs:1690:56 | +| 1 | unsupported call to `_` | `std::std::Layout::new` | fixtures/reject/src/lib.rs:542:15 | +| 1 | unsupported call to `_` | `std::std::alloc` | fixtures/reject/src/lib.rs:544:11 | +| 1 | unsupported call to `_` | `std::std::dealloc` | fixtures/reject/src/lib.rs:547:3 | +| 1 | unsupported call to `_` | `std::str::as_bytes_mut` | fixtures/reject/src/lib.rs:1613:13 | | 1 | unsupported call to `_` | `std::str::parse` | fixtures/reject/src/lib.rs:417:4 | | 1 | unsupported type `_` from another crate | `std::net::AddrParseError` | fixtures/reject/src/lib.rs:416:32 | | 1 | unsupported type `_` from another crate | `std::net::Ipv4Addr` | fixtures/reject/src/lib.rs:416:32 | @@ -436,55 +436,55 @@ The type or module each refused type or path belongs to.
a raw pointer to `_` in `_`, which the crate may put another object in place of (49) -- fixtures/reject/src/lib.rs:579:10: a raw pointer to `(u32, u32)` in `Span2`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:640:2: a raw pointer to `(u32, u32)` in `Window`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:658:15: a raw pointer to `(u32, u32)` in `std::cell::UnsafeCell<(u32, u32)>`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:691:21: a raw pointer to `std::cell::UnsafeCell` in `Hits`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:797:10: a raw pointer to `(u32, u32)` in `Plain`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:823:19: a raw pointer to `(u32, u32)` in `Track`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:843:19: a raw pointer to `(u32, u32)` in `Lane`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:879:10: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:880:10: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:881:58: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:893:19: a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:894:19: a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1043:43: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Escaped`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1057:28: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Called`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1081:26: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Looped`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1091:29: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Aliased`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1101:47: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Rewritten`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1113:29: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Loaded`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1147:31: a raw pointer to `(u16, u16)` in `Copied`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1158:39: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Mapped`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1192:18: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Repeated`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1204:46: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Onced`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1219:22: a raw pointer to `(u16, u16)` in `Pushed`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1273:9: a raw pointer to `std::cell::UnsafeCell` in `InArray`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1277:9: a raw pointer to `std::cell::UnsafeCell` in `InTuple`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1281:9: a raw pointer to `std::cell::UnsafeCell` in `InNested`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1285:9: a raw pointer to `std::cell::UnsafeCell` in `InPayload`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1289:9: a raw pointer to `std::cell::UnsafeCell` in `InField`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1293:9: a raw pointer to `std::cell::UnsafeCell` in `InGeneric`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1297:9: a raw pointer to `std::cell::UnsafeCell` in `InWritten`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1426:35: a raw pointer to `std::cell::UnsafeCell` in `ByRead`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1439:35: a raw pointer to `std::cell::UnsafeCell` in `ByWrite`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1452:35: a raw pointer to `std::cell::UnsafeCell` in `BySwap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1464:35: a raw pointer to `std::cell::UnsafeCell` in `ByReplace`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1475:35: a raw pointer to `std::cell::UnsafeCell` in `ByBox`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1490:35: a raw pointer to `std::cell::UnsafeCell` in `ByClosure`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1503:35: a raw pointer to `std::cell::UnsafeCell` in `ByObject`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1516:35: a raw pointer to `std::cell::UnsafeCell` in `ByInstance`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1525:76: a raw pointer to `std::cell::UnsafeCell` in `BySwapped`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1536:30: a raw pointer to `std::cell::UnsafeCell` in `ByExchanged`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1568:32: a raw pointer to `ByRefReplace` in `(u16, ByRefReplace)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1576:32: a raw pointer to `ByRefTake` in `(u16, ByRefTake)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1584:51: a raw pointer to `ByKeySet` in `(u16, ByKeySet)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1592:55: a raw pointer to `ByKeyReplace` in `(u16, ByKeyReplace)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1599:52: a raw pointer to `ByKeyTake` in `(u16, ByKeyTake)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2218:2: a raw pointer to `(u8, u8)` in `([Cloned; 2], (u8, u8))`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2234:2: a raw pointer to `(u8, u8)` in `(Dropped, (u8, u8))`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2252:13: a raw pointer to `(u8, u8)` in `([Greatest; 2], (u8, u8))`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2283:2: a raw pointer to `(u8, u8)` in `([Touched; 2], (u8, u8))`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:585:10: a raw pointer to `(u32, u32)` in `Span2`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:646:2: a raw pointer to `(u32, u32)` in `Window`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:664:15: a raw pointer to `(u32, u32)` in `std::cell::UnsafeCell<(u32, u32)>`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:697:21: a raw pointer to `std::cell::UnsafeCell` in `Hits`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:803:10: a raw pointer to `(u32, u32)` in `Plain`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:829:19: a raw pointer to `(u32, u32)` in `Track`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:849:19: a raw pointer to `(u32, u32)` in `Lane`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:885:10: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:886:10: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:887:58: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:899:19: a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:900:19: a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1049:43: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Escaped`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1063:28: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Called`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1087:26: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Looped`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1097:29: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Aliased`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1107:47: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Rewritten`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1119:29: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Loaded`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1153:31: a raw pointer to `(u16, u16)` in `Copied`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1164:39: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Mapped`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1198:18: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Repeated`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1210:46: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Onced`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1225:22: a raw pointer to `(u16, u16)` in `Pushed`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1279:9: a raw pointer to `std::cell::UnsafeCell` in `InArray`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1283:9: a raw pointer to `std::cell::UnsafeCell` in `InTuple`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1287:9: a raw pointer to `std::cell::UnsafeCell` in `InNested`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1291:9: a raw pointer to `std::cell::UnsafeCell` in `InPayload`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1295:9: a raw pointer to `std::cell::UnsafeCell` in `InField`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1299:9: a raw pointer to `std::cell::UnsafeCell` in `InGeneric`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1303:9: a raw pointer to `std::cell::UnsafeCell` in `InWritten`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1432:35: a raw pointer to `std::cell::UnsafeCell` in `ByRead`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1445:35: a raw pointer to `std::cell::UnsafeCell` in `ByWrite`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1458:35: a raw pointer to `std::cell::UnsafeCell` in `BySwap`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1470:35: a raw pointer to `std::cell::UnsafeCell` in `ByReplace`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1481:35: a raw pointer to `std::cell::UnsafeCell` in `ByBox`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1496:35: a raw pointer to `std::cell::UnsafeCell` in `ByClosure`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1509:35: a raw pointer to `std::cell::UnsafeCell` in `ByObject`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1522:35: a raw pointer to `std::cell::UnsafeCell` in `ByInstance`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1531:76: a raw pointer to `std::cell::UnsafeCell` in `BySwapped`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1542:30: a raw pointer to `std::cell::UnsafeCell` in `ByExchanged`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1574:32: a raw pointer to `ByRefReplace` in `(u16, ByRefReplace)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1582:32: a raw pointer to `ByRefTake` in `(u16, ByRefTake)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1590:51: a raw pointer to `ByKeySet` in `(u16, ByKeySet)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1598:55: a raw pointer to `ByKeyReplace` in `(u16, ByKeyReplace)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1605:52: a raw pointer to `ByKeyTake` in `(u16, ByKeyTake)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2224:2: a raw pointer to `(u8, u8)` in `([Cloned; 2], (u8, u8))`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2240:2: a raw pointer to `(u8, u8)` in `(Dropped, (u8, u8))`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2258:13: a raw pointer to `(u8, u8)` in `([Greatest; 2], (u8, u8))`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2289:2: a raw pointer to `(u8, u8)` in `([Touched; 2], (u8, u8))`, which the crate may put another object in place of
@@ -497,111 +497,111 @@ The type or module each refused type or path belongs to. - fixtures/reject/src/lib.rs:412:17: unsupported call to ` as std::iter::Iterator>::sum::` - fixtures/reject/src/lib.rs:412:38: unsupported call to ` as std::iter::Iterator>::sum::` - fixtures/reject/src/lib.rs:417:4: unsupported call to `core::str::::parse::` -- fixtures/reject/src/lib.rs:509:2: unsupported call to `::eq` -- fixtures/reject/src/lib.rs:509:17: unsupported call to `std::any::TypeId::of::` -- fixtures/reject/src/lib.rs:536:15: unsupported call to `std::alloc::Layout::new::` -- fixtures/reject/src/lib.rs:538:11: unsupported call to `std::alloc::alloc` -- fixtures/reject/src/lib.rs:541:3: unsupported call to `std::alloc::dealloc` -- fixtures/reject/src/lib.rs:737:15: unsupported call to ` as std::iter::Iterator>::is_sorted` -- fixtures/reject/src/lib.rs:955:11: unsupported call to `std::ops::RangeTo::::contains::` -- fixtures/reject/src/lib.rs:955:32: unsupported call to ` as std::ops::RangeBounds>::contains::` -- fixtures/reject/src/lib.rs:960:9: unsupported call to `std::ops::Range::<&mut u8>::is_empty` -- fixtures/reject/src/lib.rs:1248:4: unsupported call to `core::num::::is_ascii_octdigit` -- fixtures/reject/src/lib.rs:1607:13: unsupported call to `core::str::::as_bytes_mut` -- fixtures/reject/src/lib.rs:1681:3: unsupported call to `std::ptr::copy::<[u8; 4]>` -- fixtures/reject/src/lib.rs:1682:3: unsupported call to `std::ptr::copy_nonoverlapping::<[u8; 4]>` -- fixtures/reject/src/lib.rs:1683:14: unsupported call to `std::ptr::addr_eq::<[u8; 4], [u8; 4]>` -- fixtures/reject/src/lib.rs:1684:56: unsupported call to `std::ptr::mut_ptr::::add` -- fixtures/reject/src/lib.rs:1684:73: unsupported call to `std::ptr::const_ptr::::offset` -- fixtures/reject/src/lib.rs:1688:58: unsupported call to `std::ptr::const_ptr::::len` -- fixtures/reject/src/lib.rs:2145:2: unsupported call to `std::mem::size_of_val::` +- fixtures/reject/src/lib.rs:515:2: unsupported call to `::eq` +- fixtures/reject/src/lib.rs:515:17: unsupported call to `std::any::TypeId::of::` +- fixtures/reject/src/lib.rs:542:15: unsupported call to `std::alloc::Layout::new::` +- fixtures/reject/src/lib.rs:544:11: unsupported call to `std::alloc::alloc` +- fixtures/reject/src/lib.rs:547:3: unsupported call to `std::alloc::dealloc` +- fixtures/reject/src/lib.rs:743:15: unsupported call to ` as std::iter::Iterator>::is_sorted` +- fixtures/reject/src/lib.rs:961:11: unsupported call to `std::ops::RangeTo::::contains::` +- fixtures/reject/src/lib.rs:961:32: unsupported call to ` as std::ops::RangeBounds>::contains::` +- fixtures/reject/src/lib.rs:966:9: unsupported call to `std::ops::Range::<&mut u8>::is_empty` +- fixtures/reject/src/lib.rs:1254:4: unsupported call to `core::num::::is_ascii_octdigit` +- fixtures/reject/src/lib.rs:1613:13: unsupported call to `core::str::::as_bytes_mut` +- fixtures/reject/src/lib.rs:1687:3: unsupported call to `std::ptr::copy::<[u8; 4]>` +- fixtures/reject/src/lib.rs:1688:3: unsupported call to `std::ptr::copy_nonoverlapping::<[u8; 4]>` +- fixtures/reject/src/lib.rs:1689:14: unsupported call to `std::ptr::addr_eq::<[u8; 4], [u8; 4]>` +- fixtures/reject/src/lib.rs:1690:56: unsupported call to `std::ptr::mut_ptr::::add` +- fixtures/reject/src/lib.rs:1690:73: unsupported call to `std::ptr::const_ptr::::offset` +- fixtures/reject/src/lib.rs:1694:58: unsupported call to `std::ptr::const_ptr::::len` +- fixtures/reject/src/lib.rs:2151:2: unsupported call to `std::mem::size_of_val::`
a raw pointer to `_` in a variable assigned again while it may point there (22) -- fixtures/reject/src/lib.rs:587:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:595:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:604:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:612:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:621:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:629:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:667:15: a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:680:15: a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:972:26: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:985:22: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:995:12: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1004:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1014:17: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1019:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1640:10: a raw pointer to `Target` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1653:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1668:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1704:26: a raw pointer to `[u8; 4]` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1705:10: a raw pointer to `[u8; 4]` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:2151:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:2159:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:2167:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:593:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:601:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:610:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:618:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:627:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:635:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:673:15: a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:686:15: a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:978:26: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:991:22: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1001:12: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1010:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1020:17: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1025:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1646:10: a raw pointer to `Target` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1659:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1674:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1710:26: a raw pointer to `[u8; 4]` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1711:10: a raw pointer to `[u8; 4]` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:2157:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:2165:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:2173:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there
a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of (15) -- fixtures/reject/src/lib.rs:1308:33: a reference through which a raw pointer may be made into `InArray` in `[InArray; 2]`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1317:33: a reference through which a raw pointer may be made into `InTuple` in `(u16, InTuple)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1326:34: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1347:33: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1360:35: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1369:35: a reference through which a raw pointer may be made into `InWritten` in `[InWritten; 1]`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1928:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Replaced`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1946:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Swapped`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1964:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Taken`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1983:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Assigned`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2009:22: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Deeper`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2033:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Dynamic`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2049:15: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Closed`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2062:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `[std::cell::UnsafeCell; 2]`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2108:20: a reference through which a raw pointer may be made into `Parked` in `Parking`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1314:33: a reference through which a raw pointer may be made into `InArray` in `[InArray; 2]`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1323:33: a reference through which a raw pointer may be made into `InTuple` in `(u16, InTuple)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1332:34: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1353:33: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1366:35: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1375:35: a reference through which a raw pointer may be made into `InWritten` in `[InWritten; 1]`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1934:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Replaced`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1952:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Swapped`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1970:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Taken`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1989:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Assigned`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2015:22: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Deeper`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2039:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Dynamic`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2055:15: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Closed`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2068:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `[std::cell::UnsafeCell; 2]`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2114:20: a reference through which a raw pointer may be made into `Parked` in `Parking`, which the crate may put another object in place of
a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there (15) -- fixtures/reject/src/lib.rs:1626:18: a reference to `std::cell::UnsafeCell`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1704:26: a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1722:22: a reference to `Behind`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1737:16: a reference to `Unboxed`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1758:18: a reference to `Deep`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1780:21: a reference to `Slotted`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1799:20: a reference to `Shared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1816:20: a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1829:26: a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1844:22: a reference to `Compared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1861:22: a reference to `Enclosing`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1877:17: a reference to `Chosen`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1890:19: a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1905:21: a reference to `Wrapped>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:2079:13: a reference to `std::option::Option>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1632:18: a reference to `std::cell::UnsafeCell`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1710:26: a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1728:22: a reference to `Behind`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1743:16: a reference to `Unboxed`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1764:18: a reference to `Deep`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1786:21: a reference to `Slotted`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1805:20: a reference to `Shared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1822:20: a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1835:26: a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1850:22: a reference to `Compared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1867:22: a reference to `Enclosing`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1883:17: a reference to `Chosen`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1896:19: a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1911:21: a reference to `Wrapped>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:2085:13: a reference to `std::option::Option>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there
`_` with a mutable reference to a value JS copies, which its mapping would copy (5) -- fixtures/reject/src/lib.rs:1206:22: `std::iter::once` with a mutable reference to a value JS copies, which its mapping would copy -- fixtures/reject/src/lib.rs:1608:13: `core::str::::get_unchecked_mut` with a mutable reference to a value JS copies, which its mapping would copy -- fixtures/reject/src/lib.rs:1613:20: `std::str::from_utf8_mut` with a mutable reference to a value JS copies, which its mapping would copy -- fixtures/reject/src/lib.rs:2088:4: `std::collections::LinkedList::::retain` with a mutable reference to a value JS copies, which its mapping would copy -- fixtures/reject/src/lib.rs:2090:2: `std::default::Default::default` with a mutable reference to a value JS copies, which its mapping would copy +- fixtures/reject/src/lib.rs:1212:22: `std::iter::once` with a mutable reference to a value JS copies, which its mapping would copy +- fixtures/reject/src/lib.rs:1614:13: `core::str::::get_unchecked_mut` with a mutable reference to a value JS copies, which its mapping would copy +- fixtures/reject/src/lib.rs:1619:20: `std::str::from_utf8_mut` with a mutable reference to a value JS copies, which its mapping would copy +- fixtures/reject/src/lib.rs:2094:4: `std::collections::LinkedList::::retain` with a mutable reference to a value JS copies, which its mapping would copy +- fixtures/reject/src/lib.rs:2096:2: `std::default::Default::default` with a mutable reference to a value JS copies, which its mapping would copy
a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet (5) -- fixtures/reject/src/lib.rs:650:10: a raw pointer to `(u32, u32)` in an element, a payload, or a union field, which is not supported yet -- fixtures/reject/src/lib.rs:1697:15: a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet -- fixtures/reject/src/lib.rs:1697:18: a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet -- fixtures/reject/src/lib.rs:1697:37: a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet -- fixtures/reject/src/lib.rs:1697:44: a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:656:10: a raw pointer to `(u32, u32)` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:1703:15: a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:1703:18: a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:1703:37: a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:1703:44: a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet
@@ -619,7 +619,7 @@ The type or module each refused type or path belongs to. - fixtures/reject/src/lib.rs:83:2: an assignment through a reference to `std::sync::MutexGuard<'_, u8>` - fixtures/reject/src/lib.rs:107:2: an assignment through a reference to `std::pin::Pin>>` - fixtures/reject/src/lib.rs:214:2: an assignment through a reference to `std::pin::Pin<&mut Noisy>` -- fixtures/reject/src/lib.rs:2182:2: an assignment through a reference to `std::sync::LazyLock` +- fixtures/reject/src/lib.rs:2188:2: an assignment through a reference to `std::sync::LazyLock` @@ -627,7 +627,7 @@ The type or module each refused type or path belongs to. - fixtures/reject/src/lib.rs:21:4: `slice::fill` of `Reused`, whose `clone_from` is its own, which is not supported yet - fixtures/reject/src/lib.rs:271:4: `slice::clone_from_slice` of `Reused`, whose `clone_from` is its own, which is not supported yet -- fixtures/reject/src/lib.rs:2140:4: `Clone::clone_from` of `std::vec::Vec`, whose `clone_from` is its own, which is not supported yet +- fixtures/reject/src/lib.rs:2146:4: `Clone::clone_from` of `std::vec::Vec`, whose `clone_from` is its own, which is not supported yet @@ -641,9 +641,9 @@ The type or module each refused type or path belongs to.
a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there (3) -- fixtures/reject/src/lib.rs:2135:2: a slice or a cell of a mutable reference to `Reused` that names no place, which a whole write would replace only there -- fixtures/reject/src/lib.rs:2177:3: a slice or a cell of a mutable reference to `std::cell::LazyCell` that names no place, which a whole write would replace only there -- fixtures/reject/src/lib.rs:2188:2: a slice or a cell of a mutable reference to `std::thread::LocalKey` that names no place, which a whole write would replace only there +- fixtures/reject/src/lib.rs:2141:2: a slice or a cell of a mutable reference to `Reused` that names no place, which a whole write would replace only there +- fixtures/reject/src/lib.rs:2183:3: a slice or a cell of a mutable reference to `std::cell::LazyCell` that names no place, which a whole write would replace only there +- fixtures/reject/src/lib.rs:2194:2: a slice or a cell of a mutable reference to `std::thread::LocalKey` that names no place, which a whole write would replace only there
@@ -693,15 +693,15 @@ The type or module each refused type or path belongs to.
a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another (2) -- fixtures/reject/src/lib.rs:526:27: a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another -- fixtures/reject/src/lib.rs:1684:17: a cast from a pointer to `[u8; 4]` to one to `u8`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:532:27: a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:1690:17: a cast from a pointer to `[u8; 4]` to one to `u8`, which reads the bytes of one type as another
a raw pointer to a place of `()`, which has no address of its own (2) -- fixtures/reject/src/lib.rs:699:15: a raw pointer to a place of `()`, which has no address of its own -- fixtures/reject/src/lib.rs:699:29: a raw pointer to a place of `()`, which has no address of its own +- fixtures/reject/src/lib.rs:705:15: a raw pointer to a place of `()`, which has no address of its own +- fixtures/reject/src/lib.rs:705:29: a raw pointer to a place of `()`, which has no address of its own
@@ -712,10 +712,17 @@ The type or module each refused type or path belongs to. +
an upcast from `_` to `_`, which is not supported yet (2) + +- fixtures/reject/src/lib.rs:503:32: an upcast from `dyn Keyed` to `dyn std::any::Any`, which is not supported yet +- fixtures/reject/src/lib.rs:509:46: an upcast from `dyn Keyed` to `dyn std::any::Any`, which is not supported yet + +
+
comparing pointers to `_`, each a place JS makes of its own (2) -- fixtures/reject/src/lib.rs:567:2: comparing pointers to `u32`, each a place JS makes of its own -- fixtures/reject/src/lib.rs:2116:2: comparing pointers to `u32`, each a place JS makes of its own +- fixtures/reject/src/lib.rs:573:2: comparing pointers to `u32`, each a place JS makes of its own +- fixtures/reject/src/lib.rs:2122:2: comparing pointers to `u32`, each a place JS makes of its own
@@ -729,7 +736,7 @@ The type or module each refused type or path belongs to.
passing `_`, which drops, to `_`, which is not supported yet (2) - fixtures/reject/src/lib.rs:304:4: passing `{closure@fixtures/reject/src/lib.rs:304:13: 304:27}`, which drops, to `str::contains`, which is not supported yet -- fixtures/reject/src/lib.rs:755:4: passing `{closure@fixtures/reject/src/lib.rs:755:11: 755:19}`, which drops, to `String::retain`, which is not supported yet +- fixtures/reject/src/lib.rs:761:4: passing `{closure@fixtures/reject/src/lib.rs:761:11: 761:19}`, which drops, to `String::retain`, which is not supported yet
@@ -742,7 +749,7 @@ The type or module each refused type or path belongs to.
`Buf::copy_to_bytes` of `_`, a value JS copies, which is not supported (1) -- fixtures/reject/src/lib.rs:732:2: `Buf::copy_to_bytes` of `Blank`, a value JS copies, which is not supported +- fixtures/reject/src/lib.rs:738:2: `Buf::copy_to_bytes` of `Blank`, a value JS copies, which is not supported
@@ -766,7 +773,7 @@ The type or module each refused type or path belongs to.
`Extend` of `_` by `_`, whose `_` of `_` is not supported yet (1) -- fixtures/reject/src/lib.rs:1243:31: `Extend` of `(std::vec::Vec, Tens)` by `(u8, u8)`, whose `Tens` of `u8` is not supported yet +- fixtures/reject/src/lib.rs:1249:31: `Extend` of `(std::vec::Vec, Tens)` by `(u8, u8)`, whose `Tens` of `u8` is not supported yet
@@ -802,7 +809,7 @@ The type or module each refused type or path belongs to.
`_` of `_`, which is not supported yet (1) -- fixtures/reject/src/lib.rs:509:4: `std::any::Any::type_id` of `dyn std::any::Any`, which is not supported yet +- fixtures/reject/src/lib.rs:515:4: `std::any::Any::type_id` of `dyn std::any::Any`, which is not supported yet
@@ -814,13 +821,13 @@ The type or module each refused type or path belongs to.
`clone_from` of `_`, whose items' `clone_from` is their own, which is not supported yet (1) -- fixtures/reject/src/lib.rs:2089:4: `clone_from` of `std::collections::LinkedList`, whose items' `clone_from` is their own, which is not supported yet +- fixtures/reject/src/lib.rs:2095:4: `clone_from` of `std::collections::LinkedList`, whose items' `clone_from` is their own, which is not supported yet
`collect` of `_`, which sorts by `_`'s own `Ord`, of entries that drop, which is not supported yet (1) -- fixtures/reject/src/lib.rs:926:22: `collect` of `std::collections::BTreeMap, Noisy>`, which sorts by `std::cell::Cell`'s own `Ord`, of entries that drop, which is not supported yet +- fixtures/reject/src/lib.rs:932:22: `collect` of `std::collections::BTreeMap, Noisy>`, which sorts by `std::cell::Cell`'s own `Ord`, of entries that drop, which is not supported yet
@@ -850,13 +857,13 @@ The type or module each refused type or path belongs to.
a cast from `_` to `_`, which reads the bytes of one type as another (1) -- fixtures/reject/src/lib.rs:1684:33: a cast from `*const [u8; 4]` to `*const u8`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:1690:33: a cast from `*const [u8; 4]` to `*const u8`, which reads the bytes of one type as another
a coercion of `_` to `_`, a pointer to a slice (1) -- fixtures/reject/src/lib.rs:1685:28: a coercion of `*const [u8; 4]` to `*const [u8]`, a pointer to a slice +- fixtures/reject/src/lib.rs:1691:28: a coercion of `*const [u8; 4]` to `*const [u8]`, a pointer to a slice
@@ -874,13 +881,13 @@ The type or module each refused type or path belongs to.
a constant of type `_`, a pointer into memory translation can't name (1) -- fixtures/reject/src/lib.rs:749:3: a constant of type `&u32`, a pointer into memory translation can't name +- fixtures/reject/src/lib.rs:755:3: a constant of type `&u32`, a pointer into memory translation can't name
a dangling pointer to `_`, a value of no bytes made of more than structs and tuples (1) -- fixtures/reject/src/lib.rs:708:11: a dangling pointer to `Only`, a value of no bytes made of more than structs and tuples +- fixtures/reject/src/lib.rs:714:11: a dangling pointer to `Only`, a value of no bytes made of more than structs and tuples
@@ -892,7 +899,7 @@ The type or module each refused type or path belongs to.
a mapped guard of `_`, which JS can't write in place (1) -- fixtures/reject/src/lib.rs:2123:10: a mapped guard of `{closure@fixtures/reject/src/lib.rs:2122:38: 2122:50}`, which JS can't write in place +- fixtures/reject/src/lib.rs:2129:10: a mapped guard of `{closure@fixtures/reject/src/lib.rs:2128:38: 2128:50}`, which JS can't write in place
@@ -910,7 +917,7 @@ The type or module each refused type or path belongs to.
a pointer's address, which JS has no counterpart of (1) -- fixtures/reject/src/lib.rs:531:17: a pointer's address, which JS has no counterpart of +- fixtures/reject/src/lib.rs:537:17: a pointer's address, which JS has no counterpart of
@@ -922,13 +929,13 @@ The type or module each refused type or path belongs to.
a raw pointer to `_` behind a reference, which is the object and not where it is kept (1) -- fixtures/reject/src/lib.rs:548:10: a raw pointer to `std::vec::Vec` behind a reference, which is the object and not where it is kept +- fixtures/reject/src/lib.rs:554:10: a raw pointer to `std::vec::Vec` behind a reference, which is the object and not where it is kept
a reference through which a raw pointer may be made into `_` in an element, a payload, or a union field, which is not supported yet (1) -- fixtures/reject/src/lib.rs:1335:11: a reference through which a raw pointer may be made into `InPayload` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:1341:11: a reference through which a raw pointer may be made into `InPayload` in an element, a payload, or a union field, which is not supported yet
@@ -940,7 +947,7 @@ The type or module each refused type or path belongs to.
a slice of one byte's place, which a byte slice can view only in an array of bytes (1) -- fixtures/reject/src/lib.rs:2129:2: a slice of one byte's place, which a byte slice can view only in an array of bytes +- fixtures/reject/src/lib.rs:2135:2: a slice of one byte's place, which a byte slice can view only in an array of bytes
@@ -950,12 +957,6 @@ The type or module each refused type or path belongs to. -
an upcast from `_` to `_`, which is not supported yet (1) - -- fixtures/reject/src/lib.rs:503:32: an upcast from `dyn Keyed` to `dyn std::any::Any`, which is not supported yet - -
-
arithmetic on `_` (1) - fixtures/reject/src/lib.rs:8:2: arithmetic on `f16` @@ -964,7 +965,7 @@ The type or module each refused type or path belongs to.
comparing `_` (1) -- fixtures/reject/src/lib.rs:1683:41: comparing `*mut [u8; 4]` +- fixtures/reject/src/lib.rs:1689:41: comparing `*mut [u8; 4]`
@@ -976,19 +977,19 @@ The type or module each refused type or path belongs to.
comparing pointers to `_` in an atomic, which JS has no address of (1) -- fixtures/reject/src/lib.rs:748:15: comparing pointers to `u32` in an atomic, which JS has no address of +- fixtures/reject/src/lib.rs:754:15: comparing pointers to `u32` in an atomic, which JS has no address of
comparing pointers to `_`, which has no bytes and so no address of its own (1) -- fixtures/reject/src/lib.rs:699:70: comparing pointers to `Fused`, which has no bytes and so no address of its own +- fixtures/reject/src/lib.rs:705:70: comparing pointers to `Fused`, which has no bytes and so no address of its own
const generic types are not supported: `_` (1) -- fixtures/reject/src/lib.rs:2068:1: const generic types are not supported: `Block` +- fixtures/reject/src/lib.rs:2074:1: const generic types are not supported: `Block`
@@ -1006,7 +1007,7 @@ The type or module each refused type or path belongs to.
hashing `_` by its address, which JS has no counterpart of (1) -- fixtures/reject/src/lib.rs:1687:5: hashing `*const [u8; 4]` by its address, which JS has no counterpart of +- fixtures/reject/src/lib.rs:1693:5: hashing `*const [u8; 4]` by its address, which JS has no counterpart of
@@ -1018,6 +1019,6 @@ The type or module each refused type or path belongs to.
union `_`, whose fields overlap in `_` and `f64`, which JS keeps apart (1) -- fixtures/reject/src/lib.rs:553:1: union `Bits`, whose fields overlap in `u32` and `f64`, which JS keeps apart +- fixtures/reject/src/lib.rs:559:1: union `Bits`, whose fields overlap in `u32` and `f64`, which JS keeps apart
diff --git a/ts/fixtures/reject/expected.txt b/ts/fixtures/reject/expected.txt index 48c70cdc1..ac4523539 100644 --- a/ts/fixtures/reject/expected.txt +++ b/ts/fixtures/reject/expected.txt @@ -25,9 +25,9 @@ replacing the value behind a reference to `std::pin::Pin>>` at fixtures/reject/src/lib.rs:107:2 replacing the value behind a reference to `std::pin::Pin>` at fixtures/reject/src/lib.rs:99:2 unsupported call to `std::ops::Range::::contains::` at fixtures/reject/src/lib.rs:160:8 -unsupported call to `std::ops::RangeTo::::contains::` at fixtures/reject/src/lib.rs:955:11 -unsupported call to ` as std::ops::RangeBounds>::contains::` at fixtures/reject/src/lib.rs:955:32 -unsupported call to `std::ops::Range::<&mut u8>::is_empty` at fixtures/reject/src/lib.rs:960:9 +unsupported call to `std::ops::RangeTo::::contains::` at fixtures/reject/src/lib.rs:961:11 +unsupported call to ` as std::ops::RangeBounds>::contains::` at fixtures/reject/src/lib.rs:961:32 +unsupported call to `std::ops::Range::<&mut u8>::is_empty` at fixtures/reject/src/lib.rs:966:9 a `skip` of `std::iter::Zip, {closure@fixtures/reject/src/lib.rs:201:27: 201:31}>, std::iter::Map, {closure@fixtures/reject/src/lib.rs:201:59: 201:63}>>`, a zip std reads by index, of items that drop, which is not supported yet at fixtures/reject/src/lib.rs:202:8 a `collect` in place of `std::iter::Map, {closure@fixtures/reject/src/lib.rs:208:32: 208:40}>, std::ops::Range>, {closure@fixtures/reject/src/lib.rs:209:24: 209:32}>`, a zip std reads by index, holding values that drop, which is not supported yet at fixtures/reject/src/lib.rs:209:40 an assignment through a reference to `std::pin::Pin<&mut Noisy>` at fixtures/reject/src/lib.rs:214:2 @@ -65,164 +65,165 @@ a coercion to `&Tail`, which is not supported yet at fixtures/rejec a copy of a closure that changes what it captured at fixtures/reject/src/lib.rs:485:14 a copy of a closure that changes what it captured at fixtures/reject/src/lib.rs:486:14 an upcast from `dyn Keyed` to `dyn std::any::Any`, which is not supported yet at fixtures/reject/src/lib.rs:503:32 -`std::any::Any::type_id` of `dyn std::any::Any`, which is not supported yet at fixtures/reject/src/lib.rs:509:4 -unsupported call to `std::any::TypeId::of::` at fixtures/reject/src/lib.rs:509:17 -unsupported call to `::eq` at fixtures/reject/src/lib.rs:509:2 -a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:526:27 -a pointer's address, which JS has no counterpart of at fixtures/reject/src/lib.rs:531:17 -unsupported call to `std::alloc::Layout::new::` at fixtures/reject/src/lib.rs:536:15 -unsupported call to `std::alloc::alloc` at fixtures/reject/src/lib.rs:538:11 -unsupported call to `std::alloc::dealloc` at fixtures/reject/src/lib.rs:541:3 -a raw pointer to `std::vec::Vec` behind a reference, which is the object and not where it is kept at fixtures/reject/src/lib.rs:548:10 -union `Bits`, whose fields overlap in `u32` and `f64`, which JS keeps apart at fixtures/reject/src/lib.rs:559:10 -comparing pointers to `u32`, each a place JS makes of its own at fixtures/reject/src/lib.rs:567:2 -comparing pointers to `u32`, each a place JS makes of its own at fixtures/reject/src/lib.rs:2116:2 -a raw pointer to `(u32, u32)` in `Span2`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:579:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:587:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:595:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:604:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:612:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:621:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:629:10 -a reference to `std::cell::UnsafeCell`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1626:18 -a raw pointer to `Target` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1640:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1653:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1668:10 -a reference to `Behind`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1722:22 -a reference to `Unboxed`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1737:16 -a reference to `Deep`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1758:18 -a reference to `Slotted`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1780:21 -a reference to `Shared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1799:20 -a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1816:20 -a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1829:26 -a reference to `Wrapped>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1905:21 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Replaced`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1928:20 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Swapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1946:20 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Taken`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1964:20 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Assigned`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1983:20 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Deeper`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2009:22 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Dynamic`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2033:20 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Closed`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2049:15 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `[std::cell::UnsafeCell; 2]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2062:20 -a reference to `Compared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1844:22 -a reference to `Enclosing`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1861:22 -a reference to `Chosen`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1877:17 -a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1890:19 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:972:26 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:985:22 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:995:12 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1004:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1014:17 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1019:10 -a raw pointer to `(u32, u32)` in `Window`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:640:2 -a raw pointer to `(u32, u32)` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:650:10 -a raw pointer to `(u32, u32)` in `std::cell::UnsafeCell<(u32, u32)>`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:658:15 -a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:667:15 -a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:680:15 -a raw pointer to `std::cell::UnsafeCell` in `Hits`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:691:21 -a raw pointer to a place of `()`, which has no address of its own at fixtures/reject/src/lib.rs:699:15 -a raw pointer to a place of `()`, which has no address of its own at fixtures/reject/src/lib.rs:699:29 -comparing pointers to `Fused`, which has no bytes and so no address of its own at fixtures/reject/src/lib.rs:699:70 -a dangling pointer to `Only`, a value of no bytes made of more than structs and tuples at fixtures/reject/src/lib.rs:708:11 -`Buf::copy_to_bytes` of `Blank`, a value JS copies, which is not supported at fixtures/reject/src/lib.rs:732:2 -unsupported call to ` as std::iter::Iterator>::is_sorted` at fixtures/reject/src/lib.rs:737:15 -comparing pointers to `u32` in an atomic, which JS has no address of at fixtures/reject/src/lib.rs:748:15 -a constant of type `&u32`, a pointer into memory translation can't name at fixtures/reject/src/lib.rs:749:3 -passing `{closure@fixtures/reject/src/lib.rs:755:11: 755:19}`, which drops, to `String::retain`, which is not supported yet at fixtures/reject/src/lib.rs:755:4 -a raw pointer to `(u32, u32)` in `Plain`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:797:10 -a raw pointer to `(u32, u32)` in `Track`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:823:19 -a raw pointer to `(u32, u32)` in `Lane`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:843:19 -a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:879:10 -a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:880:10 -a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:881:58 -a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:893:19 -a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:894:19 -`collect` of `std::collections::BTreeMap, Noisy>`, which sorts by `std::cell::Cell`'s own `Ord`, of entries that drop, which is not supported yet at fixtures/reject/src/lib.rs:926:22 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Looped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1081:26 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Aliased`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1091:29 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Rewritten`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1101:47 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Loaded`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1113:29 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Mapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1158:39 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Repeated`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1192:18 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Onced`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1204:46 -`std::iter::once` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1206:22 -a raw pointer to `(u16, u16)` in `Pushed`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1219:22 -`Extend` of `(std::vec::Vec, Tens)` by `(u8, u8)`, whose `Tens` of `u8` is not supported yet at fixtures/reject/src/lib.rs:1243:31 -unsupported call to `core::num::::is_ascii_octdigit` at fixtures/reject/src/lib.rs:1248:4 -a reference through which a raw pointer may be made into `InArray` in `[InArray; 2]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1308:33 -a reference through which a raw pointer may be made into `InTuple` in `(u16, InTuple)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1317:33 -a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1326:34 -a reference through which a raw pointer may be made into `InPayload` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1335:11 -a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1347:33 -a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1360:35 -a reference through which a raw pointer may be made into `InWritten` in `[InWritten; 1]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1369:35 -a raw pointer to `std::cell::UnsafeCell` in `ByRead`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1426:35 -a raw pointer to `std::cell::UnsafeCell` in `ByWrite`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1439:35 -a raw pointer to `std::cell::UnsafeCell` in `BySwap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1452:35 -a raw pointer to `std::cell::UnsafeCell` in `ByReplace`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1464:35 -a raw pointer to `std::cell::UnsafeCell` in `ByBox`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1475:35 -a raw pointer to `std::cell::UnsafeCell` in `ByClosure`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1490:35 -a raw pointer to `std::cell::UnsafeCell` in `ByObject`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1503:35 -a raw pointer to `std::cell::UnsafeCell` in `ByInstance`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1516:35 -a raw pointer to `std::cell::UnsafeCell` in `BySwapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1525:76 -a raw pointer to `std::cell::UnsafeCell` in `ByExchanged`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1536:30 -a raw pointer to `ByRefReplace` in `(u16, ByRefReplace)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1568:32 -a raw pointer to `ByRefTake` in `(u16, ByRefTake)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1576:32 -a raw pointer to `ByKeySet` in `(u16, ByKeySet)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1584:51 -a raw pointer to `ByKeyReplace` in `(u16, ByKeyReplace)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1592:55 -a raw pointer to `ByKeyTake` in `(u16, ByKeyTake)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1599:52 -unsupported call to `core::str::::as_bytes_mut` at fixtures/reject/src/lib.rs:1607:13 -`core::str::::get_unchecked_mut` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1608:13 -`std::str::from_utf8_mut` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1613:20 -unsupported call to `std::ptr::copy::<[u8; 4]>` at fixtures/reject/src/lib.rs:1681:3 -unsupported call to `std::ptr::copy_nonoverlapping::<[u8; 4]>` at fixtures/reject/src/lib.rs:1682:3 -unsupported call to `std::ptr::addr_eq::<[u8; 4], [u8; 4]>` at fixtures/reject/src/lib.rs:1683:14 -comparing `*mut [u8; 4]` at fixtures/reject/src/lib.rs:1683:41 -a cast from a pointer to `[u8; 4]` to one to `u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:1684:17 -a cast from `*const [u8; 4]` to `*const u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:1684:33 -unsupported call to `std::ptr::mut_ptr::::add` at fixtures/reject/src/lib.rs:1684:56 -unsupported call to `std::ptr::const_ptr::::offset` at fixtures/reject/src/lib.rs:1684:73 -a coercion of `*const [u8; 4]` to `*const [u8]`, a pointer to a slice at fixtures/reject/src/lib.rs:1685:28 -hashing `*const [u8; 4]` by its address, which JS has no counterpart of at fixtures/reject/src/lib.rs:1687:5 -unsupported call to `std::ptr::const_ptr::::len` at fixtures/reject/src/lib.rs:1688:58 -a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1697:15 -a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1697:18 -a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1697:37 -a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1697:44 -a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1704:26 -a raw pointer to `[u8; 4]` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1704:26 -a raw pointer to `[u8; 4]` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1705:10 -const generic types are not supported: `Block` at fixtures/reject/src/lib.rs:2072:21 -`std::collections::LinkedList::::retain` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:2088:4 -`clone_from` of `std::collections::LinkedList`, whose items' `clone_from` is their own, which is not supported yet at fixtures/reject/src/lib.rs:2089:4 -`std::default::Default::default` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:2090:2 -a mapped guard of `{closure@fixtures/reject/src/lib.rs:2122:38: 2122:50}`, which JS can't write in place at fixtures/reject/src/lib.rs:2123:10 -a slice of one byte's place, which a byte slice can view only in an array of bytes at fixtures/reject/src/lib.rs:2129:2 -a slice or a cell of a mutable reference to `Reused` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2135:2 -`Clone::clone_from` of `std::vec::Vec`, whose `clone_from` is its own, which is not supported yet at fixtures/reject/src/lib.rs:2140:4 -unsupported call to `std::mem::size_of_val::` at fixtures/reject/src/lib.rs:2145:2 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2151:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2159:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2167:10 -a slice or a cell of a mutable reference to `std::cell::LazyCell` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2177:3 -an assignment through a reference to `std::sync::LazyLock` at fixtures/reject/src/lib.rs:2182:2 -a slice or a cell of a mutable reference to `std::thread::LocalKey` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2188:2 +an upcast from `dyn Keyed` to `dyn std::any::Any`, which is not supported yet at fixtures/reject/src/lib.rs:509:46 +`std::any::Any::type_id` of `dyn std::any::Any`, which is not supported yet at fixtures/reject/src/lib.rs:515:4 +unsupported call to `std::any::TypeId::of::` at fixtures/reject/src/lib.rs:515:17 +unsupported call to `::eq` at fixtures/reject/src/lib.rs:515:2 +a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:532:27 +a pointer's address, which JS has no counterpart of at fixtures/reject/src/lib.rs:537:17 +unsupported call to `std::alloc::Layout::new::` at fixtures/reject/src/lib.rs:542:15 +unsupported call to `std::alloc::alloc` at fixtures/reject/src/lib.rs:544:11 +unsupported call to `std::alloc::dealloc` at fixtures/reject/src/lib.rs:547:3 +a raw pointer to `std::vec::Vec` behind a reference, which is the object and not where it is kept at fixtures/reject/src/lib.rs:554:10 +union `Bits`, whose fields overlap in `u32` and `f64`, which JS keeps apart at fixtures/reject/src/lib.rs:565:10 +comparing pointers to `u32`, each a place JS makes of its own at fixtures/reject/src/lib.rs:573:2 +comparing pointers to `u32`, each a place JS makes of its own at fixtures/reject/src/lib.rs:2122:2 +a raw pointer to `(u32, u32)` in `Span2`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:585:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:593:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:601:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:610:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:618:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:627:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:635:10 +a reference to `std::cell::UnsafeCell`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1632:18 +a raw pointer to `Target` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1646:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1659:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1674:10 +a reference to `Behind`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1728:22 +a reference to `Unboxed`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1743:16 +a reference to `Deep`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1764:18 +a reference to `Slotted`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1786:21 +a reference to `Shared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1805:20 +a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1822:20 +a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1835:26 +a reference to `Wrapped>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1911:21 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Replaced`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1934:20 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Swapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1952:20 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Taken`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1970:20 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Assigned`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1989:20 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Deeper`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2015:22 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Dynamic`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2039:20 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Closed`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2055:15 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `[std::cell::UnsafeCell; 2]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2068:20 +a reference to `Compared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1850:22 +a reference to `Enclosing`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1867:22 +a reference to `Chosen`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1883:17 +a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1896:19 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:978:26 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:991:22 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1001:12 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1010:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1020:17 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1025:10 +a raw pointer to `(u32, u32)` in `Window`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:646:2 +a raw pointer to `(u32, u32)` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:656:10 +a raw pointer to `(u32, u32)` in `std::cell::UnsafeCell<(u32, u32)>`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:664:15 +a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:673:15 +a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:686:15 +a raw pointer to `std::cell::UnsafeCell` in `Hits`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:697:21 +a raw pointer to a place of `()`, which has no address of its own at fixtures/reject/src/lib.rs:705:15 +a raw pointer to a place of `()`, which has no address of its own at fixtures/reject/src/lib.rs:705:29 +comparing pointers to `Fused`, which has no bytes and so no address of its own at fixtures/reject/src/lib.rs:705:70 +a dangling pointer to `Only`, a value of no bytes made of more than structs and tuples at fixtures/reject/src/lib.rs:714:11 +`Buf::copy_to_bytes` of `Blank`, a value JS copies, which is not supported at fixtures/reject/src/lib.rs:738:2 +unsupported call to ` as std::iter::Iterator>::is_sorted` at fixtures/reject/src/lib.rs:743:15 +comparing pointers to `u32` in an atomic, which JS has no address of at fixtures/reject/src/lib.rs:754:15 +a constant of type `&u32`, a pointer into memory translation can't name at fixtures/reject/src/lib.rs:755:3 +passing `{closure@fixtures/reject/src/lib.rs:761:11: 761:19}`, which drops, to `String::retain`, which is not supported yet at fixtures/reject/src/lib.rs:761:4 +a raw pointer to `(u32, u32)` in `Plain`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:803:10 +a raw pointer to `(u32, u32)` in `Track`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:829:19 +a raw pointer to `(u32, u32)` in `Lane`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:849:19 +a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:885:10 +a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:886:10 +a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:887:58 +a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:899:19 +a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:900:19 +`collect` of `std::collections::BTreeMap, Noisy>`, which sorts by `std::cell::Cell`'s own `Ord`, of entries that drop, which is not supported yet at fixtures/reject/src/lib.rs:932:22 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Looped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1087:26 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Aliased`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1097:29 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Rewritten`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1107:47 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Loaded`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1119:29 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Mapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1164:39 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Repeated`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1198:18 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Onced`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1210:46 +`std::iter::once` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1212:22 +a raw pointer to `(u16, u16)` in `Pushed`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1225:22 +`Extend` of `(std::vec::Vec, Tens)` by `(u8, u8)`, whose `Tens` of `u8` is not supported yet at fixtures/reject/src/lib.rs:1249:31 +unsupported call to `core::num::::is_ascii_octdigit` at fixtures/reject/src/lib.rs:1254:4 +a reference through which a raw pointer may be made into `InArray` in `[InArray; 2]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1314:33 +a reference through which a raw pointer may be made into `InTuple` in `(u16, InTuple)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1323:33 +a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1332:34 +a reference through which a raw pointer may be made into `InPayload` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1341:11 +a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1353:33 +a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1366:35 +a reference through which a raw pointer may be made into `InWritten` in `[InWritten; 1]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1375:35 +a raw pointer to `std::cell::UnsafeCell` in `ByRead`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1432:35 +a raw pointer to `std::cell::UnsafeCell` in `ByWrite`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1445:35 +a raw pointer to `std::cell::UnsafeCell` in `BySwap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1458:35 +a raw pointer to `std::cell::UnsafeCell` in `ByReplace`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1470:35 +a raw pointer to `std::cell::UnsafeCell` in `ByBox`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1481:35 +a raw pointer to `std::cell::UnsafeCell` in `ByClosure`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1496:35 +a raw pointer to `std::cell::UnsafeCell` in `ByObject`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1509:35 +a raw pointer to `std::cell::UnsafeCell` in `ByInstance`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1522:35 +a raw pointer to `std::cell::UnsafeCell` in `BySwapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1531:76 +a raw pointer to `std::cell::UnsafeCell` in `ByExchanged`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1542:30 +a raw pointer to `ByRefReplace` in `(u16, ByRefReplace)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1574:32 +a raw pointer to `ByRefTake` in `(u16, ByRefTake)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1582:32 +a raw pointer to `ByKeySet` in `(u16, ByKeySet)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1590:51 +a raw pointer to `ByKeyReplace` in `(u16, ByKeyReplace)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1598:55 +a raw pointer to `ByKeyTake` in `(u16, ByKeyTake)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1605:52 +unsupported call to `core::str::::as_bytes_mut` at fixtures/reject/src/lib.rs:1613:13 +`core::str::::get_unchecked_mut` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1614:13 +`std::str::from_utf8_mut` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1619:20 +unsupported call to `std::ptr::copy::<[u8; 4]>` at fixtures/reject/src/lib.rs:1687:3 +unsupported call to `std::ptr::copy_nonoverlapping::<[u8; 4]>` at fixtures/reject/src/lib.rs:1688:3 +unsupported call to `std::ptr::addr_eq::<[u8; 4], [u8; 4]>` at fixtures/reject/src/lib.rs:1689:14 +comparing `*mut [u8; 4]` at fixtures/reject/src/lib.rs:1689:41 +a cast from a pointer to `[u8; 4]` to one to `u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:1690:17 +a cast from `*const [u8; 4]` to `*const u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:1690:33 +unsupported call to `std::ptr::mut_ptr::::add` at fixtures/reject/src/lib.rs:1690:56 +unsupported call to `std::ptr::const_ptr::::offset` at fixtures/reject/src/lib.rs:1690:73 +a coercion of `*const [u8; 4]` to `*const [u8]`, a pointer to a slice at fixtures/reject/src/lib.rs:1691:28 +hashing `*const [u8; 4]` by its address, which JS has no counterpart of at fixtures/reject/src/lib.rs:1693:5 +unsupported call to `std::ptr::const_ptr::::len` at fixtures/reject/src/lib.rs:1694:58 +a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1703:15 +a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1703:18 +a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1703:37 +a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1703:44 +a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1710:26 +a raw pointer to `[u8; 4]` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1710:26 +a raw pointer to `[u8; 4]` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1711:10 +const generic types are not supported: `Block` at fixtures/reject/src/lib.rs:2078:21 +`std::collections::LinkedList::::retain` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:2094:4 +`clone_from` of `std::collections::LinkedList`, whose items' `clone_from` is their own, which is not supported yet at fixtures/reject/src/lib.rs:2095:4 +`std::default::Default::default` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:2096:2 +a mapped guard of `{closure@fixtures/reject/src/lib.rs:2128:38: 2128:50}`, which JS can't write in place at fixtures/reject/src/lib.rs:2129:10 +a slice of one byte's place, which a byte slice can view only in an array of bytes at fixtures/reject/src/lib.rs:2135:2 +a slice or a cell of a mutable reference to `Reused` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2141:2 +`Clone::clone_from` of `std::vec::Vec`, whose `clone_from` is its own, which is not supported yet at fixtures/reject/src/lib.rs:2146:4 +unsupported call to `std::mem::size_of_val::` at fixtures/reject/src/lib.rs:2151:2 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2157:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2165:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2173:10 +a slice or a cell of a mutable reference to `std::cell::LazyCell` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2183:3 +an assignment through a reference to `std::sync::LazyLock` at fixtures/reject/src/lib.rs:2188:2 +a slice or a cell of a mutable reference to `std::thread::LocalKey` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2194:2 overriding `Iterator::fold`, which std's adaptors call in place of `next` or beside it at fixtures/reject/src/lib.rs:125:2 an iterator of the crate implementing `DoubleEndedIterator`, which is not supported yet at fixtures/reject/src/lib.rs:145:1 overriding `Iterator::size_hint`, which std's adaptors call in place of `next` or beside it at fixtures/reject/src/lib.rs:173:2 an iterator of the crate implementing `FusedIterator`, which is not supported yet at fixtures/reject/src/lib.rs:193:1 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Escaped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1043:43 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Called`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1057:28 -a raw pointer to `(u16, u16)` in `Copied`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1147:31 -a raw pointer to `std::cell::UnsafeCell` in `InArray`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1273:9 -a raw pointer to `std::cell::UnsafeCell` in `InTuple`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1277:9 -a raw pointer to `std::cell::UnsafeCell` in `InNested`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1281:9 -a raw pointer to `std::cell::UnsafeCell` in `InPayload`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1285:9 -a raw pointer to `std::cell::UnsafeCell` in `InField`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1289:9 -a raw pointer to `std::cell::UnsafeCell` in `InGeneric`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1293:9 -a raw pointer to `std::cell::UnsafeCell` in `InWritten`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1297:9 -a reference to `std::option::Option>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:2079:13 -a raw pointer to `(u8, u8)` in `([Cloned; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2196:23 -a raw pointer to `(u8, u8)` in `(Dropped, (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2196:23 -a raw pointer to `(u8, u8)` in `([Greatest; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2252:13 -a raw pointer to `(u8, u8)` in `([Touched; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2196:23 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Escaped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1049:43 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Called`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1063:28 +a raw pointer to `(u16, u16)` in `Copied`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1153:31 +a raw pointer to `std::cell::UnsafeCell` in `InArray`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1279:9 +a raw pointer to `std::cell::UnsafeCell` in `InTuple`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1283:9 +a raw pointer to `std::cell::UnsafeCell` in `InNested`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1287:9 +a raw pointer to `std::cell::UnsafeCell` in `InPayload`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1291:9 +a raw pointer to `std::cell::UnsafeCell` in `InField`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1295:9 +a raw pointer to `std::cell::UnsafeCell` in `InGeneric`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1299:9 +a raw pointer to `std::cell::UnsafeCell` in `InWritten`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1303:9 +a reference to `std::option::Option>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:2085:13 +a raw pointer to `(u8, u8)` in `([Cloned; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2202:23 +a raw pointer to `(u8, u8)` in `(Dropped, (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2202:23 +a raw pointer to `(u8, u8)` in `([Greatest; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2258:13 +a raw pointer to `(u8, u8)` in `([Touched; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2202:23 diff --git a/ts/fixtures/reject/src/lib.rs b/ts/fixtures/reject/src/lib.rs index 53f6423da..569892f84 100644 --- a/ts/fixtures/reject/src/lib.rs +++ b/ts/fixtures/reject/src/lib.rs @@ -504,6 +504,12 @@ pub fn any_upcast(k: &dyn Keyed) -> bool { any.is::() } +/// The same upcast of a `Weak`. +pub fn weak_any_upcast(k: std::rc::Weak) -> bool { + let any: std::rc::Weak = k; + any.upgrade().is_some_and(|a| a.is::()) +} + /// A `TypeId`, which no value stands for yet. pub fn any_type_id(a: &dyn std::any::Any) -> bool { a.type_id() == std::any::TypeId::of::() diff --git a/ts/fixtures/reject/ts.toml b/ts/fixtures/reject/ts.toml index f1595fa5d..dfadd1d1e 100644 --- a/ts/fixtures/reject/ts.toml +++ b/ts/fixtures/reject/ts.toml @@ -56,6 +56,7 @@ roots = [ "generic_pending", "rebound_reference", "any_upcast", + "weak_any_upcast", "any_type_id", "reinterpreted", "addressed", diff --git a/ts/runtime/rt/task.ts b/ts/runtime/rt/task.ts index 2b5dd211a..b7f160aee 100644 --- a/ts/runtime/rt/task.ts +++ b/ts/runtime/rt/task.ts @@ -162,9 +162,13 @@ export function arcPtrEq(l: Arc, r: Arc): boolean { } function arcRoot(arc: Arc): Arc { - return arc instanceof ArcDyn ? arc.arc : arc; + while (arc instanceof ArcDyn) arc = arc.arc; + return arc; } +/** The `Arc` each `Arc::downcast` of an `Arc` made from a box gives, which is one allocation. */ +const downcasts = new WeakMap, Arc>(); + /** * `Arc::downcast` of an `Arc`, if its object is a `class`: the `Arc` it was made * from, or one of what the object holds, by `held`, sharing the count of one made from a box. @@ -175,7 +179,13 @@ export function arcDowncast( held: (object: C) => T, ): Result, Arc> { if (!(arc.value instanceof class_)) return Err(arc); - return Ok(arc instanceof ArcDyn ? (arc.arc as Arc) : new ArcDyn(arc, held(arc.value))); + if (arc instanceof ArcDyn) return Ok(arc.arc as Arc); + let typed = downcasts.get(arc) as Arc | undefined; + if (typed === undefined) { + typed = new ArcDyn(arc, held(arc.value)); + downcasts.set(arc, typed); + } + return Ok(typed); } /** diff --git a/ts/src/lower/mir/rvalue.rs b/ts/src/lower/mir/rvalue.rs index a60927f16..bad13634c 100644 --- a/ts/src/lower/mir/rvalue.rs +++ b/ts/src/lower/mir/rvalue.rs @@ -298,7 +298,7 @@ impl<'m, 'b, 'a, 'tcx> Fx<'m, 'b, 'a, 'tcx> { } PointerCoercion::Unsize if let Some((pointee, object)) = weak_object(tcx, from, to) => { let value = self.operand(op, span, out); - self.weak_object(value, pointee, object, span) + self.weak_object(value, pointee, object, span, out) } // A future, as the `rt.Future` a `dyn Future` is. PointerCoercion::Unsize @@ -394,10 +394,17 @@ impl<'m, 'b, 'a, 'tcx> Fx<'m, 'b, 'a, 'tcx> { /// `weak`, a `Weak` of `pointee` unsized to one of the trait object `object`: `rt.weakDyn` /// of it, which makes the `Arc` an upgrade gives as `arc_object` does, or the same `Weak` - /// upcast. - fn weak_object(&mut self, weak: Expr, pointee: Ty<'tcx>, object: Ty<'tcx>, span: Span) -> Expr { + /// upcast, which `arc_object` checks. + fn weak_object( + &mut self, + weak: Expr, + pointee: Ty<'tcx>, + object: Ty<'tcx>, + span: Span, + out: &mut Vec, + ) -> Expr { if pointee.is_trait() { - return weak; + return self.arc_object(weak, pointee, object, span, out); } let name = self.b.fresh("arc"); let mut body = Vec::new(); From 4cc7c9b985b5ce2c58602fd33fc091c702c8ebc0 Mon Sep 17 00:00:00 2001 From: Luke Curley <432854+kixelated@users.noreply.github.com> Date: Mon, 2 Nov 2026 11:47:56 -0800 Subject: [PATCH 4/6] chore(quest): record wasm32's mul_add misrounding a near tie Co-Authored-By: Claude Opus 5.5 --- quest/m3/README.md | 1 + quest/m3/ts-fma-libm.md | 31 ++++++++++++++++++++++++++++ ts/fixtures/lang/expected/harness.ts | 4 +++- 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 quest/m3/ts-fma-libm.md diff --git a/quest/m3/README.md b/quest/m3/README.md index b4ffd6870..e0e074291 100644 --- a/quest/m3/README.md +++ b/quest/m3/README.md @@ -18,6 +18,7 @@ generic std gap is planned here even when moq never calls it. - [Unsafe code the translator can model](/quest/m3/ts-unsafe.md) - a dependency using only `unsafe` the translator can model translates from source - [The capacity of a BytesMut](/quest/m3/ts-bytes-capacity.md) - `BytesMut::capacity` and what reads it translate with `bytes`' values - [Trait objects](/quest/m3/ts-dyn.md) - `dyn Error`, `dyn Iterator`, and `dyn Buf` translate, so a consumer neither rewrites nor binds them +- [wasm32's mul_add misrounds a near tie](/quest/m3/ts-fma-libm.md) - the lang fixture's `mul_add` test passes though compiler-builtins' `fma` drops a sticky bit - [A trait object in a struct's last field](/quest/m3/ts-dyn-tail.md) - `Rc>` and the like translate, the last field as the object - [Placeholders written to a crate's own fmt::Write](/quest/m3/ts-fmt-calls.md) - `write!` with placeholders into a crate's own writer translates, its `write_str` seeing each call std makes - [Waiting: type-check in process with tsrs](/quest/m3/ts-tsrs.md) - rust2-ts checks bindings through tsrs instead of `tsc` once it is a stable library diff --git a/quest/m3/ts-fma-libm.md b/quest/m3/ts-fma-libm.md new file mode 100644 index 000000000..aaa2e0415 --- /dev/null +++ b/quest/m3/ts-fma-libm.md @@ -0,0 +1,31 @@ +# [S] wasm32's mul_add misrounds a near tie + +## Goal + +The lang fixture's differential test of `f64::mul_add` passes on every input, though +wasm32's native `fma`, compiler-builtins' generic `fma_round`, drops a sticky bit, while +[rust2-ts](/ts/README.md)'s `rt.f64MulAdd` stays rounded once, as `mul_add` documents. + +## Plan + +Found on 2026-11-02: a lang case added shifted a random input onto `floats::mul_adds`, and +for `a = 0xbe8c27a8edc66e22`, `b = 0xbd522f6292409f88`, `c = 0x3f41e8176d8609aa` the exact +`a * b + c` is just above halfway to the next double. `rt.f64MulAdd` and x86-64's `fma` give +`0x3f41e8176d8609ab`; wasm32, and `libm` 0.2.16's soft `fma` on any host, give `...aa`. + +`libm/src/math/generic/fma.rs`, where `z`'s exponent is at least 64 bits above the product's, +computes the sticky bit from `rlo` after shifting it, where musl's `fma.c` reads the +original: `rlo = rhi<<(64-d) | rlo>>d | !!(rlo<<(64-d))`. The sum then ties and rounds to +even. The input no longer lands on `mul_adds`, so the gate passes, until the case count +changes again. + +The maintainer's decision: + +1. Recommended: accept exactly this divergence in `caller.ts`'s `within`, where native's + result is the correctly rounded one with that bit dropped, recomputed with `BigInt`, + report it to rust-lang/compiler-builtins, and drop the allowance once the toolchain has + the fix. +2. Port the bug into `rt.f64MulAdd`, matching wasm32 but no target with a hardware `fma`. +3. Wait for an upstream fix and toolchain bump, with the gate at risk until then. + +Public API: none. diff --git a/ts/fixtures/lang/expected/harness.ts b/ts/fixtures/lang/expected/harness.ts index 40f9dc8d7..c1a5b9059 100644 --- a/ts/fixtures/lang/expected/harness.ts +++ b/ts/fixtures/lang/expected/harness.ts @@ -22,7 +22,7 @@ import { cows, slices as cows_slices, bytes as cows_bytes } from "./cows.ts"; import { cycles } from "./cycles.ts"; import { defaults as defaults_defaults } from "./defaults.ts"; import { durations } from "./durations.ts"; -import { dyns, shared as dyns_shared, anys, fns } from "./dyns.ts"; +import { dyns, shared as dyns_shared, anys, fns, pointers } from "./dyns.ts"; import { edits as edits_edits, bytes as edits_bytes } from "./edits.ts"; import { eqs } from "./errors.ts"; import { fields as fields_fields } from "./fields.ts"; @@ -291,6 +291,8 @@ export function cases(): [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) sorts(a0160, a1160.data, a1160.start, a1160.length, a2160); }] as [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined], ["sorts::disorders", disorders as (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined] as [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined], ["sorts::btrees", (a0162: rt.u8, a1162: rt.ByteSlice, a2162: rt.ByteVec): undefined => { sorts_btrees(a0162, a1162.data, a1162.start, a1162.length, a2162); + }] as [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined], ["dyns::pointers", (_2201: rt.u8, data101: rt.ByteSlice, out102: rt.ByteVec): undefined => { + pointers(data101.data, data101.start, data101.length, out102); }] as [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined]]; } From 09d306bdbb19ae7ff2bd7771d5b308dfd2ebf6e6 Mon Sep 17 00:00:00 2001 From: Luke Curley <432854+kixelated@users.noreply.github.com> Date: Mon, 2 Nov 2026 11:55:03 -0800 Subject: [PATCH 5/6] Revert "chore(quest): record wasm32's mul_add misrounding a near tie" #400 covers the same bug (rust-lang/compiler-builtins#1353) with quest/m3/ts-fma-allowance.md. Co-Authored-By: Claude Opus 5.5 --- quest/m3/README.md | 1 - quest/m3/ts-fma-libm.md | 31 ---------------------------- ts/fixtures/lang/expected/harness.ts | 4 +--- 3 files changed, 1 insertion(+), 35 deletions(-) delete mode 100644 quest/m3/ts-fma-libm.md diff --git a/quest/m3/README.md b/quest/m3/README.md index e0e074291..b4ffd6870 100644 --- a/quest/m3/README.md +++ b/quest/m3/README.md @@ -18,7 +18,6 @@ generic std gap is planned here even when moq never calls it. - [Unsafe code the translator can model](/quest/m3/ts-unsafe.md) - a dependency using only `unsafe` the translator can model translates from source - [The capacity of a BytesMut](/quest/m3/ts-bytes-capacity.md) - `BytesMut::capacity` and what reads it translate with `bytes`' values - [Trait objects](/quest/m3/ts-dyn.md) - `dyn Error`, `dyn Iterator`, and `dyn Buf` translate, so a consumer neither rewrites nor binds them -- [wasm32's mul_add misrounds a near tie](/quest/m3/ts-fma-libm.md) - the lang fixture's `mul_add` test passes though compiler-builtins' `fma` drops a sticky bit - [A trait object in a struct's last field](/quest/m3/ts-dyn-tail.md) - `Rc>` and the like translate, the last field as the object - [Placeholders written to a crate's own fmt::Write](/quest/m3/ts-fmt-calls.md) - `write!` with placeholders into a crate's own writer translates, its `write_str` seeing each call std makes - [Waiting: type-check in process with tsrs](/quest/m3/ts-tsrs.md) - rust2-ts checks bindings through tsrs instead of `tsc` once it is a stable library diff --git a/quest/m3/ts-fma-libm.md b/quest/m3/ts-fma-libm.md deleted file mode 100644 index aaa2e0415..000000000 --- a/quest/m3/ts-fma-libm.md +++ /dev/null @@ -1,31 +0,0 @@ -# [S] wasm32's mul_add misrounds a near tie - -## Goal - -The lang fixture's differential test of `f64::mul_add` passes on every input, though -wasm32's native `fma`, compiler-builtins' generic `fma_round`, drops a sticky bit, while -[rust2-ts](/ts/README.md)'s `rt.f64MulAdd` stays rounded once, as `mul_add` documents. - -## Plan - -Found on 2026-11-02: a lang case added shifted a random input onto `floats::mul_adds`, and -for `a = 0xbe8c27a8edc66e22`, `b = 0xbd522f6292409f88`, `c = 0x3f41e8176d8609aa` the exact -`a * b + c` is just above halfway to the next double. `rt.f64MulAdd` and x86-64's `fma` give -`0x3f41e8176d8609ab`; wasm32, and `libm` 0.2.16's soft `fma` on any host, give `...aa`. - -`libm/src/math/generic/fma.rs`, where `z`'s exponent is at least 64 bits above the product's, -computes the sticky bit from `rlo` after shifting it, where musl's `fma.c` reads the -original: `rlo = rhi<<(64-d) | rlo>>d | !!(rlo<<(64-d))`. The sum then ties and rounds to -even. The input no longer lands on `mul_adds`, so the gate passes, until the case count -changes again. - -The maintainer's decision: - -1. Recommended: accept exactly this divergence in `caller.ts`'s `within`, where native's - result is the correctly rounded one with that bit dropped, recomputed with `BigInt`, - report it to rust-lang/compiler-builtins, and drop the allowance once the toolchain has - the fix. -2. Port the bug into `rt.f64MulAdd`, matching wasm32 but no target with a hardware `fma`. -3. Wait for an upstream fix and toolchain bump, with the gate at risk until then. - -Public API: none. diff --git a/ts/fixtures/lang/expected/harness.ts b/ts/fixtures/lang/expected/harness.ts index c1a5b9059..40f9dc8d7 100644 --- a/ts/fixtures/lang/expected/harness.ts +++ b/ts/fixtures/lang/expected/harness.ts @@ -22,7 +22,7 @@ import { cows, slices as cows_slices, bytes as cows_bytes } from "./cows.ts"; import { cycles } from "./cycles.ts"; import { defaults as defaults_defaults } from "./defaults.ts"; import { durations } from "./durations.ts"; -import { dyns, shared as dyns_shared, anys, fns, pointers } from "./dyns.ts"; +import { dyns, shared as dyns_shared, anys, fns } from "./dyns.ts"; import { edits as edits_edits, bytes as edits_bytes } from "./edits.ts"; import { eqs } from "./errors.ts"; import { fields as fields_fields } from "./fields.ts"; @@ -291,8 +291,6 @@ export function cases(): [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) sorts(a0160, a1160.data, a1160.start, a1160.length, a2160); }] as [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined], ["sorts::disorders", disorders as (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined] as [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined], ["sorts::btrees", (a0162: rt.u8, a1162: rt.ByteSlice, a2162: rt.ByteVec): undefined => { sorts_btrees(a0162, a1162.data, a1162.start, a1162.length, a2162); - }] as [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined], ["dyns::pointers", (_2201: rt.u8, data101: rt.ByteSlice, out102: rt.ByteVec): undefined => { - pointers(data101.data, data101.start, data101.length, out102); }] as [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined]]; } From 2f7006d73e910ca33dbf67d4432a03b6a55e18dd Mon Sep 17 00:00:00 2001 From: Luke Curley <432854+kixelated@users.noreply.github.com> Date: Mon, 2 Nov 2026 12:59:30 -0800 Subject: [PATCH 6/6] test(ts): refresh snapshots after merging main Co-Authored-By: Claude Opus 5.5 --- ts/fixtures/lang/expected/harness.ts | 4 +- ts/fixtures/lang/expected/lib.ts | 35 + ts/fixtures/reject/census.md | 1048 +++++++++++++------------- ts/fixtures/reject/expected.txt | 392 +++++----- 4 files changed, 757 insertions(+), 722 deletions(-) diff --git a/ts/fixtures/lang/expected/harness.ts b/ts/fixtures/lang/expected/harness.ts index 652578196..3792b492d 100644 --- a/ts/fixtures/lang/expected/harness.ts +++ b/ts/fixtures/lang/expected/harness.ts @@ -22,7 +22,7 @@ import { cows, slices as cows_slices, bytes as cows_bytes } from "./cows.ts"; import { cycles } from "./cycles.ts"; import { defaults as defaults_defaults } from "./defaults.ts"; import { durations } from "./durations.ts"; -import { dyns, shared as dyns_shared, anys, fns } from "./dyns.ts"; +import { dyns, shared as dyns_shared, anys, fns, pointers } from "./dyns.ts"; import { edits as edits_edits, bytes as edits_bytes } from "./edits.ts"; import { vecs as elements_vecs, arrays as elements_arrays, segments as elements_segments, inline, edges as elements_edges, rawSlices, emptyParts } from "./elements.ts"; import { eqs } from "./errors.ts"; @@ -316,6 +316,8 @@ export function cases(): [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) sorts(a0161, a1161.data, a1161.start, a1161.length, a2161); }] as [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined], ["sorts::disorders", disorders as (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined] as [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined], ["sorts::btrees", (a0163: rt.u8, a1163: rt.ByteSlice, a2163: rt.ByteVec): undefined => { sorts_btrees(a0163, a1163.data, a1163.start, a1163.length, a2163); + }] as [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined], ["dyns::pointers", (_2211: rt.u8, data111: rt.ByteSlice, out112: rt.ByteVec): undefined => { + pointers(data111.data, data111.start, data111.length, out112); }] as [string, (a0: rt.u8, a1: rt.ByteSlice, a2: rt.ByteVec) => undefined]]; } diff --git a/ts/fixtures/lang/expected/lib.ts b/ts/fixtures/lang/expected/lib.ts index de4833739..0bfc383b3 100644 --- a/ts/fixtures/lang/expected/lib.ts +++ b/ts/fixtures/lang/expected/lib.ts @@ -16,6 +16,9 @@ import type * as counts_Noisy from "./counts.Noisy.ts"; import type * as RcReleasing from "./counts.RcReleasing.ts"; import type * as RcShared from "./counts.RcShared.ts"; import type * as durations_Window from "./durations.Window.ts"; +import type * as dyns_Noisy from "./dyns.Noisy.ts"; +import type * as Square from "./dyns.Square.ts"; +import type * as Tri from "./dyns.Tri.ts"; import * as Inline from "./elements.Inline.ts"; import type * as Couple from "./fields.Couple.ts"; import type * as Either from "./generics.Either.ts"; @@ -916,6 +919,30 @@ export function drop$Option_cell_Ref_borrows_Tagged(_1: rt.RefCell, rt.Arc>): void { + if (_1.ok) { + _1.value[Symbol.dispose](); + } else { + _1.error[Symbol.dispose](); + } +} + +export function drop$Result_Rc_dyns_Square_Rc_dyn_Any(_1: rt.Result, rt.Arc>): void { + if (_1.ok) { + _1.value[Symbol.dispose](); + } else { + _1.error[Symbol.dispose](); + } +} + +export function drop$Result_Rc_dyns_Tri_Rc_dyn_Any(_1: rt.Result, rt.Arc>): void { + if (_1.ok) { + _1.value[Symbol.dispose](); + } else { + _1.error[Symbol.dispose](); + } +} + export function drop$Result_Result_sync_MappedMutexGuard_u64_sync_MappedMutexGuard_u64_sync_MutexGuard_locks_Tally(_1: rt.Result, rt.Mutex>, rt.Mutex>): void { if (_1.ok) { drop$Result_sync_MappedMutexGuard_u64_sync_MappedMutexGuard_u64(_1.value); @@ -1046,6 +1073,14 @@ export function drop$Result_results_Logged_results_Logged(_1: rt.Result, rt.Arc>): void { + if (_1.ok) { + _1.value[Symbol.dispose](); + } else { + _1.error[Symbol.dispose](); + } +} + export function drop$Result_sync_MappedMutexGuard_u64_sync_MappedMutexGuard_u64(_1: rt.Result, rt.Mutex>): void { if (_1.ok) { rt.mutexUnlock(_1.value); diff --git a/ts/fixtures/reject/census.md b/ts/fixtures/reject/census.md index b856a5fa6..b9eb13320 100644 --- a/ts/fixtures/reject/census.md +++ b/ts/fixtures/reject/census.md @@ -8,95 +8,95 @@ | Count | Construct | First | | ---: | --- | --- | -| 50 | a raw pointer to `_` in `_`, which the crate may put another object in place of | fixtures/reject/src/lib.rs:586:10 | -| 23 | a raw pointer to `_` in a variable assigned again while it may point there | fixtures/reject/src/lib.rs:594:10 | +| 50 | a raw pointer to `_` in `_`, which the crate may put another object in place of | fixtures/reject/src/lib.rs:585:10 | +| 23 | a raw pointer to `_` in a variable assigned again while it may point there | fixtures/reject/src/lib.rs:593:10 | | 18 | unsupported call to `_` | fixtures/reject/src/lib.rs:160:8 | -| 15 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | fixtures/reject/src/lib.rs:1315:33 | -| 15 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | fixtures/reject/src/lib.rs:1633:18 | -| 6 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | fixtures/reject/src/lib.rs:533:27 | -| 5 | `_` with a mutable reference to a value JS copies, which its mapping would copy | fixtures/reject/src/lib.rs:1213:22 | -| 5 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | fixtures/reject/src/lib.rs:657:10 | -| 5 | memory from `alloc` cast to pointers to `_` and to `_`, which reads the bytes of one type as another | fixtures/reject/src/lib.rs:2324:7 | +| 15 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | fixtures/reject/src/lib.rs:1314:33 | +| 15 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | fixtures/reject/src/lib.rs:1632:18 | +| 6 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | fixtures/reject/src/lib.rs:532:27 | +| 5 | `_` with a mutable reference to a value JS copies, which its mapping would copy | fixtures/reject/src/lib.rs:1212:22 | +| 5 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | fixtures/reject/src/lib.rs:656:10 | +| 5 | memory from `alloc` cast to pointers to `_` and to `_`, which reads the bytes of one type as another | fixtures/reject/src/lib.rs:2323:7 | | 4 | a variant of `_`, which is not supported: either is the same JS string | fixtures/reject/src/lib.rs:309:2 | | 4 | an assignment through a reference to `_` | fixtures/reject/src/lib.rs:83:2 | | 3 | `_` of `_`, whose `clone_from` is its own, which is not supported yet | fixtures/reject/src/lib.rs:21:4 | -| 3 | a byte of memory from `alloc`, which JS keeps as the values a cast of its pointer types it as | fixtures/reject/src/lib.rs:546:3 | -| 3 | a copy between pointers to `_`, which JS keeps as an object that knows no array it is in | fixtures/reject/src/lib.rs:1688:3 | +| 3 | a byte of memory from `alloc`, which JS keeps as the values a cast of its pointer types it as | fixtures/reject/src/lib.rs:545:3 | +| 3 | a copy between pointers to `_`, which JS keeps as an object that knows no array it is in | fixtures/reject/src/lib.rs:1687:3 | | 3 | a copy of a closure that changes what it captured | fixtures/reject/src/lib.rs:224:14 | -| 3 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | fixtures/reject/src/lib.rs:2244:2 | -| 3 | an offset of a pointer to `_`, which JS keeps as an object that knows no array it is in | fixtures/reject/src/lib.rs:1691:56 | +| 3 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | fixtures/reject/src/lib.rs:2243:2 | +| 3 | an offset of a pointer to `_`, which JS keeps as an object that knows no array it is in | fixtures/reject/src/lib.rs:1690:56 | | 3 | replacing the value behind a reference to `_` | fixtures/reject/src/lib.rs:91:2 | | 3 | unsupported type `_` | fixtures/reject/src/lib.rs:7:14 | | 2 | `_` is not supported: its `None` and `Some` would both be `rt.None` | fixtures/reject/src/lib.rs:16:15 | | 2 | `_` of `_`, whose `None` is `rt.None`, which is not supported yet | fixtures/reject/src/lib.rs:37:4 | | 2 | `_`, a trait object of another crate's trait, which is not supported yet | fixtures/reject/src/lib.rs:11:16 | -| 2 | `_`, a trait object of the generic trait `_`, which is not supported yet | fixtures/reject/src/lib.rs:442:23 | -| 2 | `offset_from` between a pointer into a value in no array and one into a value in no array, which JS keeps in different arrays | fixtures/reject/src/lib.rs:2203:5 | -| 2 | `offset_from` between a pointer into an array of this body's own and one into an array of this body's own, which JS keeps in different arrays | fixtures/reject/src/lib.rs:2205:24 | -| 2 | a coercion to `_`, which is not supported yet | fixtures/reject/src/lib.rs:433:40 | -| 2 | a pointer reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust | fixtures/reject/src/lib.rs:2228:18 | -| 2 | a raw or mutable slice of a byte in no array of bytes | fixtures/reject/src/lib.rs:2214:12 | -| 2 | a raw pointer to a place of `()`, which has no address of its own | fixtures/reject/src/lib.rs:706:15 | +| 2 | `_`, a trait object of the generic trait `_`, which is not supported yet | fixtures/reject/src/lib.rs:435:23 | +| 2 | `offset_from` between a pointer into a value in no array and one into a value in no array, which JS keeps in different arrays | fixtures/reject/src/lib.rs:2202:5 | +| 2 | `offset_from` between a pointer into an array of this body's own and one into an array of this body's own, which JS keeps in different arrays | fixtures/reject/src/lib.rs:2204:24 | +| 2 | a pointer reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust | fixtures/reject/src/lib.rs:2227:18 | +| 2 | a raw or mutable slice of a byte in no array of bytes | fixtures/reject/src/lib.rs:2213:12 | +| 2 | a raw pointer to a place of `()`, which has no address of its own | fixtures/reject/src/lib.rs:705:15 | | 2 | an iterator of the crate implementing `_`, which is not supported yet | fixtures/reject/src/lib.rs:145:1 | -| 2 | comparing pointers to `_`, each a place JS makes of its own | fixtures/reject/src/lib.rs:574:2 | +| 2 | an upcast from `_` to `_`, which is not supported yet | fixtures/reject/src/lib.rs:503:32 | +| 2 | comparing pointers to `_`, each a place JS makes of its own | fixtures/reject/src/lib.rs:573:2 | | 2 | overriding `_`, which std's adaptors call in place of `next` or beside it | fixtures/reject/src/lib.rs:125:2 | | 2 | passing `_`, which drops, to `_`, which is not supported yet | fixtures/reject/src/lib.rs:304:4 | | 2 | unsupported type `_` from another crate | fixtures/reject/src/lib.rs:416:32 | -| 1 | `Buf::copy_to_bytes` of `_`, a value JS copies, which is not supported | fixtures/reject/src/lib.rs:739:2 | +| 1 | `Buf::copy_to_bytes` of `_`, a value JS copies, which is not supported | fixtures/reject/src/lib.rs:738:2 | | 1 | `BufMut::put` of `_` into a `BytesMut`, which advances it by the room left in a capacity that depends on whether the other handles of its storage dropped, which is not supported | fixtures/reject/src/lib.rs:372:2 | | 1 | `BufMut::put` of `_` into a `BytesMut`, which picks the methods it calls by a capacity that depends on whether the other handles of its storage dropped, which is not supported | fixtures/reject/src/lib.rs:367:2 | | 1 | `Bytes::from_owner` of `_`, which would drop with the last clone of what it makes, which is not supported | fixtures/reject/src/lib.rs:352:2 | -| 1 | `Extend` of `_` by `_`, whose `_` of `_` is not supported yet | fixtures/reject/src/lib.rs:1250:31 | +| 1 | `Extend` of `_` by `_`, whose `_` of `_` is not supported yet | fixtures/reject/src/lib.rs:1249:31 | | 1 | `Pointer` formatting, as in `{:p}`, is not supported | fixtures/reject/src/lib.rs:49:2 | | 1 | `_` is not supported: its `Pending` and `Ready` would both be `rt.OuterPending` | fixtures/reject/src/lib.rs:72:20 | | 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `None` would be `rt.None` as `_` | fixtures/reject/src/lib.rs:31:2 | -| 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `Pending` would be `rt.OuterPending` as `_` | fixtures/reject/src/lib.rs:480:2 | +| 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `Pending` would be `rt.OuterPending` as `_` | fixtures/reject/src/lib.rs:473:2 | | 1 | `_` of `_` by `_`, which is not supported yet | fixtures/reject/src/lib.rs:253:6 | -| 1 | `_` of `_`, which is not supported yet | fixtures/reject/src/lib.rs:516:4 | +| 1 | `_` of `_`, which is not supported yet | fixtures/reject/src/lib.rs:515:4 | | 1 | `_`, which reads a capacity that depends on whether the other handles of its storage dropped, which is not supported | fixtures/reject/src/lib.rs:361:6 | -| 1 | `clone_from` of `_`, whose items' `clone_from` is their own, which is not supported yet | fixtures/reject/src/lib.rs:2096:4 | -| 1 | `collect` of `_`, which sorts by `_`'s own `Ord`, of entries that drop, which is not supported yet | fixtures/reject/src/lib.rs:933:22 | +| 1 | `clone_from` of `_`, whose items' `clone_from` is their own, which is not supported yet | fixtures/reject/src/lib.rs:2095:4 | +| 1 | `collect` of `_`, which sorts by `_`'s own `Ord`, of entries that drop, which is not supported yet | fixtures/reject/src/lib.rs:932:22 | | 1 | `fmt::Arguments` with a placeholder, or not made in place, written to `_`'s own `fmt::Write`, which is not supported yet: std splits what a placeholder writes into `write_str` calls the runtime does not make | fixtures/reject/src/lib.rs:55:10 | -| 1 | `offset_from` between a pointer into a shared slice JS copies and one into a value in no array, which JS keeps in different arrays | fixtures/reject/src/lib.rs:2208:21 | -| 1 | `offset_from` between a pointer into a shared slice JS copies and one into an array of this body's own, which JS keeps in different arrays | fixtures/reject/src/lib.rs:2207:20 | -| 1 | `offset_from` of pointers to `()`, which has no bytes | fixtures/reject/src/lib.rs:2150:13 | -| 1 | `offset_from` of pointers to `_`, which JS keeps as an object that knows no array it is in | fixtures/reject/src/lib.rs:2143:36 | +| 1 | `offset_from` between a pointer into a shared slice JS copies and one into a value in no array, which JS keeps in different arrays | fixtures/reject/src/lib.rs:2207:21 | +| 1 | `offset_from` between a pointer into a shared slice JS copies and one into an array of this body's own, which JS keeps in different arrays | fixtures/reject/src/lib.rs:2206:20 | +| 1 | `offset_from` of pointers to `()`, which has no bytes | fixtures/reject/src/lib.rs:2149:13 | +| 1 | `offset_from` of pointers to `_`, which JS keeps as an object that knows no array it is in | fixtures/reject/src/lib.rs:2142:36 | | 1 | a `collect` in place of `_`, a zip std reads by index, holding values that drop, which is not supported yet | fixtures/reject/src/lib.rs:209:40 | | 1 | a `skip` of `_`, a zip std reads by index, of items that drop, which is not supported yet | fixtures/reject/src/lib.rs:202:8 | | 1 | a cast from `_` to `_` | fixtures/reject/src/lib.rs:68:2 | | 1 | a coercion to `_` | fixtures/reject/src/lib.rs:276:2 | -| 1 | a constant of type `_`, a pointer into memory translation can't name | fixtures/reject/src/lib.rs:756:3 | -| 1 | a copy reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust | fixtures/reject/src/lib.rs:2226:3 | -| 1 | a dangling pointer to `_`, a value of no bytes made of more than structs and tuples | fixtures/reject/src/lib.rs:715:11 | +| 1 | a coercion to `_`, which is not supported yet | fixtures/reject/src/lib.rs:462:30 | +| 1 | a constant of type `_`, a pointer into memory translation can't name | fixtures/reject/src/lib.rs:755:3 | +| 1 | a copy reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust | fixtures/reject/src/lib.rs:2225:3 | +| 1 | a dangling pointer to `_`, a value of no bytes made of more than structs and tuples | fixtures/reject/src/lib.rs:714:11 | | 1 | a future of `_`, which can be `rt.Pending`, as the future's own `Pending` is | fixtures/reject/src/lib.rs:77:34 | -| 1 | a mapped guard of `_`, which JS can't write in place | fixtures/reject/src/lib.rs:2130:10 | +| 1 | a mapped guard of `_`, which JS can't write in place | fixtures/reject/src/lib.rs:2129:10 | | 1 | a mutable reference into a `Result`'s payload, passed on or kept | fixtures/reject/src/lib.rs:340:12 | | 1 | a mutable static, which any code may write | fixtures/reject/src/lib.rs:61:11 | -| 1 | a pointer into `_`, which JS keeps as an object that knows no array it is in | fixtures/reject/src/lib.rs:2137:12 | -| 1 | a pointer into an array of `_`, which JS keeps as an object that knows no array it is in | fixtures/reject/src/lib.rs:2142:30 | -| 1 | a pointer reaching past a value in no array, which JS keeps apart from what holds it in Rust | fixtures/reject/src/lib.rs:2230:27 | -| 1 | a pointer's address, which JS has no counterpart of | fixtures/reject/src/lib.rs:538:17 | +| 1 | a pointer into `_`, which JS keeps as an object that knows no array it is in | fixtures/reject/src/lib.rs:2136:12 | +| 1 | a pointer into an array of `_`, which JS keeps as an object that knows no array it is in | fixtures/reject/src/lib.rs:2141:30 | +| 1 | a pointer reaching past a value in no array, which JS keeps apart from what holds it in Rust | fixtures/reject/src/lib.rs:2229:27 | +| 1 | a pointer's address, which JS has no counterpart of | fixtures/reject/src/lib.rs:537:17 | | 1 | a printable type must implement `Display` or `Debug` | fixtures/reject/src/lib.rs:64:1 | -| 1 | a raw pointer to `_` behind a reference, which is the object and not where it is kept | fixtures/reject/src/lib.rs:555:10 | -| 1 | a reference through which a raw pointer may be made into `_` in an element, a payload, or a union field, which is not supported yet | fixtures/reject/src/lib.rs:1342:11 | +| 1 | a raw pointer to `_` behind a reference, which is the object and not where it is kept | fixtures/reject/src/lib.rs:554:10 | +| 1 | a reference through which a raw pointer may be made into `_` in an element, a payload, or a union field, which is not supported yet | fixtures/reject/src/lib.rs:1341:11 | | 1 | a scalar constant of type `_` | fixtures/reject/src/lib.rs:8:2 | -| 1 | a slice from a pointer to `_`, which JS keeps as an object that knows no array it is in | fixtures/reject/src/lib.rs:2141:11 | -| 1 | a slice of `()`, which has no bytes, from a pointer | fixtures/reject/src/lib.rs:2150:39 | -| 1 | a slice of one byte's place, which a byte slice can view only in an array of bytes | fixtures/reject/src/lib.rs:2238:2 | -| 1 | a slice reaching past a value in no array, which JS keeps apart from what holds it in Rust | fixtures/reject/src/lib.rs:2229:6 | -| 1 | a trait object of `_`, which is not supported yet | fixtures/reject/src/lib.rs:459:26 | -| 1 | an upcast from `_` to `_`, which is not supported yet | fixtures/reject/src/lib.rs:510:32 | +| 1 | a slice from a pointer to `_`, which JS keeps as an object that knows no array it is in | fixtures/reject/src/lib.rs:2140:11 | +| 1 | a slice of `()`, which has no bytes, from a pointer | fixtures/reject/src/lib.rs:2149:39 | +| 1 | a slice of one byte's place, which a byte slice can view only in an array of bytes | fixtures/reject/src/lib.rs:2237:2 | +| 1 | a slice reaching past a value in no array, which JS keeps apart from what holds it in Rust | fixtures/reject/src/lib.rs:2228:6 | +| 1 | a trait object of `_`, which is not supported yet | fixtures/reject/src/lib.rs:452:26 | | 1 | arithmetic on `_` | fixtures/reject/src/lib.rs:8:2 | -| 1 | comparing `_` | fixtures/reject/src/lib.rs:1690:41 | +| 1 | comparing `_` | fixtures/reject/src/lib.rs:1689:41 | | 1 | comparing `_` as a key, which is not supported yet | fixtures/reject/src/lib.rs:235:75 | -| 1 | comparing pointers to `_` in an atomic, which JS has no address of | fixtures/reject/src/lib.rs:755:15 | -| 1 | comparing pointers to `_`, which has no bytes and so no address of its own | fixtures/reject/src/lib.rs:706:70 | -| 1 | const generic types are not supported: `_` | fixtures/reject/src/lib.rs:2075:1 | +| 1 | comparing pointers to `_` in an atomic, which JS has no address of | fixtures/reject/src/lib.rs:754:15 | +| 1 | comparing pointers to `_`, which has no bytes and so no address of its own | fixtures/reject/src/lib.rs:705:70 | +| 1 | const generic types are not supported: `_` | fixtures/reject/src/lib.rs:2074:1 | | 1 | constructing `_` | fixtures/reject/src/lib.rs:327:53 | | 1 | hashing `_` as a key, which is not supported yet | fixtures/reject/src/lib.rs:235:75 | -| 1 | hashing `_` by its address, which JS has no counterpart of | fixtures/reject/src/lib.rs:1694:5 | +| 1 | hashing `_` by its address, which JS has no counterpart of | fixtures/reject/src/lib.rs:1693:5 | | 1 | hashing `_` through `_`'s own `Hash::hash_slice`, which is not supported yet | fixtures/reject/src/lib.rs:295:16 | -| 1 | union `_`, whose fields overlap in `_` and `f64`, which JS keeps apart | fixtures/reject/src/lib.rs:560:1 | +| 1 | union `_`, whose fields overlap in `_` and `f64`, which JS keeps apart | fixtures/reject/src/lib.rs:559:1 | ## By API @@ -104,166 +104,165 @@ The type or module each refused type or path belongs to. | Count | API | First | | ---: | --- | --- | -| 39 | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:665:15 | -| 27 | `(u32, u32)` | fixtures/reject/src/lib.rs:586:10 | -| 15 | `u32` | fixtures/reject/src/lib.rs:533:27 | -| 11 | `(u8, u8)` | fixtures/reject/src/lib.rs:1250:31 | -| 9 | `[u8; 4]` | fixtures/reject/src/lib.rs:459:26 | +| 39 | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:664:15 | +| 27 | `(u32, u32)` | fixtures/reject/src/lib.rs:585:10 | +| 15 | `u32` | fixtures/reject/src/lib.rs:532:27 | +| 11 | `(u8, u8)` | fixtures/reject/src/lib.rs:1249:31 | +| 9 | `[u8; 4]` | fixtures/reject/src/lib.rs:452:26 | | 8 | `u8` | fixtures/reject/src/lib.rs:253:6 | | 6 | `f16` | fixtures/reject/src/lib.rs:7:14 | | 6 | `std::borrow::Cow` | fixtures/reject/src/lib.rs:309:2 | -| 5 | `Gap` | fixtures/reject/src/lib.rs:886:10 | +| 5 | `Gap` | fixtures/reject/src/lib.rs:885:10 | | 5 | `Option` | fixtures/reject/src/lib.rs:16:15 | -| 5 | `i32` | fixtures/reject/src/lib.rs:2324:7 | +| 5 | `i32` | fixtures/reject/src/lib.rs:2323:7 | | 4 | `Iterator` | fixtures/reject/src/lib.rs:37:4 | | 4 | `std::pin::Pin` | fixtures/reject/src/lib.rs:91:2 | | 4 | `std::str` | fixtures/reject/src/lib.rs:417:4 | -| 3 | `Mid` | fixtures/reject/src/lib.rs:1333:34 | -| 3 | `Outer` | fixtures/reject/src/lib.rs:1333:34 | +| 3 | `Mid` | fixtures/reject/src/lib.rs:1332:34 | +| 3 | `Outer` | fixtures/reject/src/lib.rs:1332:34 | | 3 | `Reused` | fixtures/reject/src/lib.rs:21:4 | +| 3 | `dyn std::any::Any` | fixtures/reject/src/lib.rs:503:32 | | 3 | `std::vec::Vec` | fixtures/reject/src/lib.rs:295:16 | | 3 | `{closure}` | fixtures/reject/src/lib.rs:304:4 | -| 2 | `(u16, u16)` | fixtures/reject/src/lib.rs:1154:31 | +| 2 | `(u16, u16)` | fixtures/reject/src/lib.rs:1153:31 | | 2 | `Counted` | fixtures/reject/src/lib.rs:367:2 | -| 2 | `InArray` | fixtures/reject/src/lib.rs:1280:9 | -| 2 | `InPayload` | fixtures/reject/src/lib.rs:1292:9 | -| 2 | `InTuple` | fixtures/reject/src/lib.rs:1284:9 | -| 2 | `InWritten` | fixtures/reject/src/lib.rs:1304:9 | -| 2 | `Inside` | fixtures/reject/src/lib.rs:1823:20 | +| 2 | `InArray` | fixtures/reject/src/lib.rs:1279:9 | +| 2 | `InPayload` | fixtures/reject/src/lib.rs:1291:9 | +| 2 | `InTuple` | fixtures/reject/src/lib.rs:1283:9 | +| 2 | `InWritten` | fixtures/reject/src/lib.rs:1303:9 | +| 2 | `Inside` | fixtures/reject/src/lib.rs:1822:20 | | 2 | `Poll` | fixtures/reject/src/lib.rs:72:20 | -| 2 | `Scaled` | fixtures/reject/src/lib.rs:442:23 | -| 2 | `[u32; 3]` | fixtures/reject/src/lib.rs:2168:10 | -| 2 | `[u8; 2]` | fixtures/reject/src/lib.rs:1704:37 | -| 2 | `[u8; 3]` | fixtures/reject/src/lib.rs:1704:15 | -| 2 | `dyn Scaled` | fixtures/reject/src/lib.rs:442:23 | -| 2 | `dyn std::any::Any` | fixtures/reject/src/lib.rs:510:32 | +| 2 | `Scaled` | fixtures/reject/src/lib.rs:435:23 | +| 2 | `[u32; 3]` | fixtures/reject/src/lib.rs:2167:10 | +| 2 | `[u8; 2]` | fixtures/reject/src/lib.rs:1703:37 | +| 2 | `[u8; 3]` | fixtures/reject/src/lib.rs:1703:15 | +| 2 | `dyn Keyed` | fixtures/reject/src/lib.rs:503:32 | +| 2 | `dyn Scaled` | fixtures/reject/src/lib.rs:435:23 | | 2 | `dyn std::iter::Iterator` | fixtures/reject/src/lib.rs:11:16 | | 2 | `slice` | fixtures/reject/src/lib.rs:21:4 | -| 2 | `std::any::TypeId` | fixtures/reject/src/lib.rs:516:2 | +| 2 | `std::any::TypeId` | fixtures/reject/src/lib.rs:515:2 | | 2 | `std::collections::BTreeSet` | fixtures/reject/src/lib.rs:235:75 | -| 2 | `std::collections::LinkedList` | fixtures/reject/src/lib.rs:2095:4 | -| 2 | `std::mem::MaybeUninit` | fixtures/reject/src/lib.rs:900:19 | +| 2 | `std::collections::LinkedList` | fixtures/reject/src/lib.rs:2094:4 | +| 2 | `std::mem::MaybeUninit` | fixtures/reject/src/lib.rs:899:19 | | 2 | `std::ops::Range` | fixtures/reject/src/lib.rs:160:8 | | 2 | `std::option::Option` | fixtures/reject/src/lib.rs:347:2 | | 2 | `std::sync::Arc` | fixtures/reject/src/lib.rs:276:2 | | 2 | `std::sync::MutexGuard` | fixtures/reject/src/lib.rs:83:2 | | 2 | `std::vec::IntoIter` | fixtures/reject/src/lib.rs:412:17 | -| 1 | `(Dropped, (u8, u8))` | fixtures/reject/src/lib.rs:2383:2 | -| 1 | `([Cloned; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2367:2 | -| 1 | `([Greatest; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2401:13 | -| 1 | `([Touched; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2432:2 | -| 1 | `(std::vec::Vec, Tens)` | fixtures/reject/src/lib.rs:1250:31 | -| 1 | `(u16, ByKeyReplace)` | fixtures/reject/src/lib.rs:1599:55 | -| 1 | `(u16, ByKeySet)` | fixtures/reject/src/lib.rs:1591:51 | -| 1 | `(u16, ByKeyTake)` | fixtures/reject/src/lib.rs:1606:52 | -| 1 | `(u16, ByRefReplace)` | fixtures/reject/src/lib.rs:1575:32 | -| 1 | `(u16, ByRefTake)` | fixtures/reject/src/lib.rs:1583:32 | -| 1 | `(u16, InTuple)` | fixtures/reject/src/lib.rs:1324:33 | -| 1 | `*const [u8; 4]` | fixtures/reject/src/lib.rs:1694:5 | -| 1 | `*mut [u8; 4]` | fixtures/reject/src/lib.rs:1690:41 | -| 1 | `Aliased` | fixtures/reject/src/lib.rs:1098:29 | -| 1 | `Assigned` | fixtures/reject/src/lib.rs:1990:20 | +| 1 | `(Dropped, (u8, u8))` | fixtures/reject/src/lib.rs:2382:2 | +| 1 | `([Cloned; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2366:2 | +| 1 | `([Greatest; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2400:13 | +| 1 | `([Touched; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2431:2 | +| 1 | `(std::vec::Vec, Tens)` | fixtures/reject/src/lib.rs:1249:31 | +| 1 | `(u16, ByKeyReplace)` | fixtures/reject/src/lib.rs:1598:55 | +| 1 | `(u16, ByKeySet)` | fixtures/reject/src/lib.rs:1590:51 | +| 1 | `(u16, ByKeyTake)` | fixtures/reject/src/lib.rs:1605:52 | +| 1 | `(u16, ByRefReplace)` | fixtures/reject/src/lib.rs:1574:32 | +| 1 | `(u16, ByRefTake)` | fixtures/reject/src/lib.rs:1582:32 | +| 1 | `(u16, InTuple)` | fixtures/reject/src/lib.rs:1323:33 | +| 1 | `*const [u8; 4]` | fixtures/reject/src/lib.rs:1693:5 | +| 1 | `*mut [u8; 4]` | fixtures/reject/src/lib.rs:1689:41 | +| 1 | `Aliased` | fixtures/reject/src/lib.rs:1097:29 | +| 1 | `Assigned` | fixtures/reject/src/lib.rs:1989:20 | | 1 | `Batched` | fixtures/reject/src/lib.rs:295:16 | -| 1 | `Behind` | fixtures/reject/src/lib.rs:1729:22 | -| 1 | `Bits` | fixtures/reject/src/lib.rs:560:1 | -| 1 | `Blank` | fixtures/reject/src/lib.rs:739:2 | -| 1 | `Block` | fixtures/reject/src/lib.rs:2075:1 | -| 1 | `ByBox` | fixtures/reject/src/lib.rs:1482:35 | -| 1 | `ByClosure` | fixtures/reject/src/lib.rs:1497:35 | -| 1 | `ByExchanged` | fixtures/reject/src/lib.rs:1543:30 | -| 1 | `ByInstance` | fixtures/reject/src/lib.rs:1523:35 | -| 1 | `ByKeyReplace` | fixtures/reject/src/lib.rs:1599:55 | -| 1 | `ByKeySet` | fixtures/reject/src/lib.rs:1591:51 | -| 1 | `ByKeyTake` | fixtures/reject/src/lib.rs:1606:52 | -| 1 | `ByObject` | fixtures/reject/src/lib.rs:1510:35 | -| 1 | `ByRead` | fixtures/reject/src/lib.rs:1433:35 | -| 1 | `ByRefReplace` | fixtures/reject/src/lib.rs:1575:32 | -| 1 | `ByRefTake` | fixtures/reject/src/lib.rs:1583:32 | -| 1 | `ByReplace` | fixtures/reject/src/lib.rs:1471:35 | -| 1 | `BySwap` | fixtures/reject/src/lib.rs:1459:35 | -| 1 | `BySwapped` | fixtures/reject/src/lib.rs:1532:76 | -| 1 | `ByWrite` | fixtures/reject/src/lib.rs:1446:35 | +| 1 | `Behind` | fixtures/reject/src/lib.rs:1728:22 | +| 1 | `Bits` | fixtures/reject/src/lib.rs:559:1 | +| 1 | `Blank` | fixtures/reject/src/lib.rs:738:2 | +| 1 | `Block` | fixtures/reject/src/lib.rs:2074:1 | +| 1 | `ByBox` | fixtures/reject/src/lib.rs:1481:35 | +| 1 | `ByClosure` | fixtures/reject/src/lib.rs:1496:35 | +| 1 | `ByExchanged` | fixtures/reject/src/lib.rs:1542:30 | +| 1 | `ByInstance` | fixtures/reject/src/lib.rs:1522:35 | +| 1 | `ByKeyReplace` | fixtures/reject/src/lib.rs:1598:55 | +| 1 | `ByKeySet` | fixtures/reject/src/lib.rs:1590:51 | +| 1 | `ByKeyTake` | fixtures/reject/src/lib.rs:1605:52 | +| 1 | `ByObject` | fixtures/reject/src/lib.rs:1509:35 | +| 1 | `ByRead` | fixtures/reject/src/lib.rs:1432:35 | +| 1 | `ByRefReplace` | fixtures/reject/src/lib.rs:1574:32 | +| 1 | `ByRefTake` | fixtures/reject/src/lib.rs:1582:32 | +| 1 | `ByReplace` | fixtures/reject/src/lib.rs:1470:35 | +| 1 | `BySwap` | fixtures/reject/src/lib.rs:1458:35 | +| 1 | `BySwapped` | fixtures/reject/src/lib.rs:1531:76 | +| 1 | `ByWrite` | fixtures/reject/src/lib.rs:1445:35 | | 1 | `BytesMut` | fixtures/reject/src/lib.rs:361:6 | -| 1 | `Called` | fixtures/reject/src/lib.rs:1064:28 | -| 1 | `Chosen` | fixtures/reject/src/lib.rs:1884:17 | -| 1 | `Clone` | fixtures/reject/src/lib.rs:2249:4 | -| 1 | `Closed` | fixtures/reject/src/lib.rs:2056:15 | -| 1 | `Compared` | fixtures/reject/src/lib.rs:1851:22 | -| 1 | `Copied` | fixtures/reject/src/lib.rs:1154:31 | -| 1 | `Deep` | fixtures/reject/src/lib.rs:1765:18 | -| 1 | `Deeper` | fixtures/reject/src/lib.rs:2016:22 | +| 1 | `Called` | fixtures/reject/src/lib.rs:1063:28 | +| 1 | `Chosen` | fixtures/reject/src/lib.rs:1883:17 | +| 1 | `Clone` | fixtures/reject/src/lib.rs:2248:4 | +| 1 | `Closed` | fixtures/reject/src/lib.rs:2055:15 | +| 1 | `Compared` | fixtures/reject/src/lib.rs:1850:22 | +| 1 | `Copied` | fixtures/reject/src/lib.rs:1153:31 | +| 1 | `Deep` | fixtures/reject/src/lib.rs:1764:18 | +| 1 | `Deeper` | fixtures/reject/src/lib.rs:2015:22 | | 1 | `DoubleEndedIterator` | fixtures/reject/src/lib.rs:145:1 | -| 1 | `Dynamic` | fixtures/reject/src/lib.rs:2040:20 | -| 1 | `Enclosing` | fixtures/reject/src/lib.rs:1868:22 | -| 1 | `Escaped` | fixtures/reject/src/lib.rs:1050:43 | +| 1 | `Dynamic` | fixtures/reject/src/lib.rs:2039:20 | +| 1 | `Enclosing` | fixtures/reject/src/lib.rs:1867:22 | +| 1 | `Escaped` | fixtures/reject/src/lib.rs:1049:43 | | 1 | `FusedIterator` | fixtures/reject/src/lib.rs:193:1 | -| 1 | `Fused` | fixtures/reject/src/lib.rs:706:70 | -| 1 | `Halves` | fixtures/reject/src/lib.rs:2311:16 | +| 1 | `Fused` | fixtures/reject/src/lib.rs:705:70 | +| 1 | `Halves` | fixtures/reject/src/lib.rs:2310:16 | | 1 | `HashMap` | fixtures/reject/src/lib.rs:253:6 | -| 1 | `Hits` | fixtures/reject/src/lib.rs:698:21 | -| 1 | `InField` | fixtures/reject/src/lib.rs:1296:9 | -| 1 | `InGeneric` | fixtures/reject/src/lib.rs:1300:9 | -| 1 | `InNested` | fixtures/reject/src/lib.rs:1288:9 | -| 1 | `Lane` | fixtures/reject/src/lib.rs:850:19 | -| 1 | `Lanes` | fixtures/reject/src/lib.rs:2170:10 | -| 1 | `Loaded` | fixtures/reject/src/lib.rs:1120:29 | -| 1 | `Looped` | fixtures/reject/src/lib.rs:1088:26 | -| 1 | `Mapped` | fixtures/reject/src/lib.rs:1165:39 | +| 1 | `Hits` | fixtures/reject/src/lib.rs:697:21 | +| 1 | `InField` | fixtures/reject/src/lib.rs:1295:9 | +| 1 | `InGeneric` | fixtures/reject/src/lib.rs:1299:9 | +| 1 | `InNested` | fixtures/reject/src/lib.rs:1287:9 | +| 1 | `Lane` | fixtures/reject/src/lib.rs:849:19 | +| 1 | `Lanes` | fixtures/reject/src/lib.rs:2169:10 | +| 1 | `Loaded` | fixtures/reject/src/lib.rs:1119:29 | +| 1 | `Looped` | fixtures/reject/src/lib.rs:1087:26 | +| 1 | `Mapped` | fixtures/reject/src/lib.rs:1164:39 | | 1 | `Maybe` | fixtures/reject/src/lib.rs:31:2 | -| 1 | `Onced` | fixtures/reject/src/lib.rs:1211:46 | -| 1 | `Only` | fixtures/reject/src/lib.rs:715:11 | -| 1 | `Parked` | fixtures/reject/src/lib.rs:2115:20 | -| 1 | `Parking` | fixtures/reject/src/lib.rs:2115:20 | -| 1 | `Plain` | fixtures/reject/src/lib.rs:804:10 | -| 1 | `Pushed` | fixtures/reject/src/lib.rs:1226:22 | -| 1 | `Repeated` | fixtures/reject/src/lib.rs:1199:18 | -| 1 | `Replaced` | fixtures/reject/src/lib.rs:1935:20 | -| 1 | `Rewritten` | fixtures/reject/src/lib.rs:1108:47 | -| 1 | `Shared` | fixtures/reject/src/lib.rs:1806:20 | +| 1 | `Onced` | fixtures/reject/src/lib.rs:1210:46 | +| 1 | `Only` | fixtures/reject/src/lib.rs:714:11 | +| 1 | `Parked` | fixtures/reject/src/lib.rs:2114:20 | +| 1 | `Parking` | fixtures/reject/src/lib.rs:2114:20 | +| 1 | `Plain` | fixtures/reject/src/lib.rs:803:10 | +| 1 | `Pushed` | fixtures/reject/src/lib.rs:1225:22 | +| 1 | `Repeated` | fixtures/reject/src/lib.rs:1198:18 | +| 1 | `Replaced` | fixtures/reject/src/lib.rs:1934:20 | +| 1 | `Rewritten` | fixtures/reject/src/lib.rs:1107:47 | +| 1 | `Shared` | fixtures/reject/src/lib.rs:1805:20 | | 1 | `Sink` | fixtures/reject/src/lib.rs:55:10 | -| 1 | `Slotted` | fixtures/reject/src/lib.rs:1787:21 | -| 1 | `Span2` | fixtures/reject/src/lib.rs:586:10 | -| 1 | `String` | fixtures/reject/src/lib.rs:762:4 | -| 1 | `Swapped` | fixtures/reject/src/lib.rs:1953:20 | +| 1 | `Slotted` | fixtures/reject/src/lib.rs:1786:21 | +| 1 | `Span2` | fixtures/reject/src/lib.rs:585:10 | +| 1 | `String` | fixtures/reject/src/lib.rs:761:4 | +| 1 | `Swapped` | fixtures/reject/src/lib.rs:1952:20 | | 1 | `T \| undefined` | fixtures/reject/src/lib.rs:31:2 | -| 1 | `Tail` | fixtures/reject/src/lib.rs:469:30 | -| 1 | `Taken` | fixtures/reject/src/lib.rs:1971:20 | -| 1 | `Target` | fixtures/reject/src/lib.rs:1647:10 | -| 1 | `Tens` | fixtures/reject/src/lib.rs:1250:31 | -| 1 | `Track` | fixtures/reject/src/lib.rs:830:19 | -| 1 | `Unboxed` | fixtures/reject/src/lib.rs:1744:16 | -| 1 | `Waiting` | fixtures/reject/src/lib.rs:480:2 | -| 1 | `Window` | fixtures/reject/src/lib.rs:647:2 | -| 1 | `Wrapped` | fixtures/reject/src/lib.rs:1912:21 | -| 1 | `[InArray; 2]` | fixtures/reject/src/lib.rs:1315:33 | -| 1 | `[InWritten; 1]` | fixtures/reject/src/lib.rs:1376:35 | -| 1 | `[std::cell::UnsafeCell; 2]` | fixtures/reject/src/lib.rs:2069:20 | -| 1 | `[u32; 2]` | fixtures/reject/src/lib.rs:2155:13 | -| 1 | `dyn Keyed` | fixtures/reject/src/lib.rs:510:32 | -| 1 | `poll` | fixtures/reject/src/lib.rs:480:2 | -| 1 | `rt.Poll` | fixtures/reject/src/lib.rs:480:2 | -| 1 | `std::any::Any` | fixtures/reject/src/lib.rs:516:4 | -| 1 | `std::cell::Cell` | fixtures/reject/src/lib.rs:933:22 | -| 1 | `std::cell::LazyCell` | fixtures/reject/src/lib.rs:2286:3 | -| 1 | `std::collections::BTreeMap` | fixtures/reject/src/lib.rs:933:22 | +| 1 | `Tail` | fixtures/reject/src/lib.rs:462:30 | +| 1 | `Taken` | fixtures/reject/src/lib.rs:1970:20 | +| 1 | `Target` | fixtures/reject/src/lib.rs:1646:10 | +| 1 | `Tens` | fixtures/reject/src/lib.rs:1249:31 | +| 1 | `Track` | fixtures/reject/src/lib.rs:829:19 | +| 1 | `Unboxed` | fixtures/reject/src/lib.rs:1743:16 | +| 1 | `Waiting` | fixtures/reject/src/lib.rs:473:2 | +| 1 | `Window` | fixtures/reject/src/lib.rs:646:2 | +| 1 | `Wrapped` | fixtures/reject/src/lib.rs:1911:21 | +| 1 | `[InArray; 2]` | fixtures/reject/src/lib.rs:1314:33 | +| 1 | `[InWritten; 1]` | fixtures/reject/src/lib.rs:1375:35 | +| 1 | `[std::cell::UnsafeCell; 2]` | fixtures/reject/src/lib.rs:2068:20 | +| 1 | `[u32; 2]` | fixtures/reject/src/lib.rs:2154:13 | +| 1 | `poll` | fixtures/reject/src/lib.rs:473:2 | +| 1 | `rt.Poll` | fixtures/reject/src/lib.rs:473:2 | +| 1 | `std::any::Any` | fixtures/reject/src/lib.rs:515:4 | +| 1 | `std::cell::Cell` | fixtures/reject/src/lib.rs:932:22 | +| 1 | `std::cell::LazyCell` | fixtures/reject/src/lib.rs:2285:3 | +| 1 | `std::collections::BTreeMap` | fixtures/reject/src/lib.rs:932:22 | | 1 | `std::collections::HashMap` | fixtures/reject/src/lib.rs:253:6 | -| 1 | `std::default::Default` | fixtures/reject/src/lib.rs:2097:2 | +| 1 | `std::default::Default` | fixtures/reject/src/lib.rs:2096:2 | | 1 | `std::iter::Map` | fixtures/reject/src/lib.rs:209:40 | | 1 | `std::iter::Zip` | fixtures/reject/src/lib.rs:202:8 | -| 1 | `std::iter` | fixtures/reject/src/lib.rs:1213:22 | -| 1 | `std::mem` | fixtures/reject/src/lib.rs:2254:2 | +| 1 | `std::iter` | fixtures/reject/src/lib.rs:1212:22 | +| 1 | `std::mem` | fixtures/reject/src/lib.rs:2253:2 | | 1 | `std::net::AddrParseError` | fixtures/reject/src/lib.rs:416:32 | | 1 | `std::net::Ipv4Addr` | fixtures/reject/src/lib.rs:416:32 | -| 1 | `std::num` | fixtures/reject/src/lib.rs:1255:4 | -| 1 | `std::ops::RangeFrom` | fixtures/reject/src/lib.rs:962:32 | -| 1 | `std::ops::RangeTo` | fixtures/reject/src/lib.rs:962:11 | -| 1 | `std::ptr` | fixtures/reject/src/lib.rs:1690:14 | -| 1 | `std::slice::IterMut` | fixtures/reject/src/lib.rs:744:15 | -| 1 | `std::std` | fixtures/reject/src/lib.rs:2338:13 | -| 1 | `std::sync::LazyLock` | fixtures/reject/src/lib.rs:2291:2 | -| 1 | `std::sync::Weak` | fixtures/reject/src/lib.rs:433:40 | +| 1 | `std::num` | fixtures/reject/src/lib.rs:1254:4 | +| 1 | `std::ops::RangeFrom` | fixtures/reject/src/lib.rs:961:32 | +| 1 | `std::ops::RangeTo` | fixtures/reject/src/lib.rs:961:11 | +| 1 | `std::ptr` | fixtures/reject/src/lib.rs:1689:14 | +| 1 | `std::slice::IterMut` | fixtures/reject/src/lib.rs:743:15 | +| 1 | `std::std` | fixtures/reject/src/lib.rs:2337:13 | +| 1 | `std::sync::LazyLock` | fixtures/reject/src/lib.rs:2290:2 | | 1 | `std::task::Poll` | fixtures/reject/src/lib.rs:77:34 | -| 1 | `std::thread::LocalKey` | fixtures/reject/src/lib.rs:2297:2 | +| 1 | `std::thread::LocalKey` | fixtures/reject/src/lib.rs:2296:2 | | 1 | `str` | fixtures/reject/src/lib.rs:304:4 | | 1 | `u64` | fixtures/reject/src/lib.rs:68:2 | | 1 | `value` | fixtures/reject/src/lib.rs:31:2 | @@ -272,186 +271,185 @@ The type or module each refused type or path belongs to. | Count | Construct | Type or path | First | | ---: | --- | --- | --- | -| 17 | a raw pointer to `_` in a variable assigned again while it may point there | `(u32, u32)` | fixtures/reject/src/lib.rs:594:10 | +| 17 | a raw pointer to `_` in a variable assigned again while it may point there | `(u32, u32)` | fixtures/reject/src/lib.rs:593:10 | | 4 | a variant of `_`, which is not supported: either is the same JS string | `std::borrow::Cow` | fixtures/reject/src/lib.rs:309:2 | -| 3 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Gap` | fixtures/reject/src/lib.rs:886:10 | -| 3 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `Mid`, `Outer` | fixtures/reject/src/lib.rs:1333:34 | -| 3 | memory from `alloc` cast to pointers to `_` and to `_`, which reads the bytes of one type as another | `i32`, `u32` | fixtures/reject/src/lib.rs:2325:11 | +| 3 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Gap` | fixtures/reject/src/lib.rs:885:10 | +| 3 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `Mid`, `Outer` | fixtures/reject/src/lib.rs:1332:34 | +| 3 | memory from `alloc` cast to pointers to `_` and to `_`, which reads the bytes of one type as another | `i32`, `u32` | fixtures/reject/src/lib.rs:2324:11 | | 3 | unsupported type `_` | `f16` | fixtures/reject/src/lib.rs:7:14 | | 2 | `_` is not supported: its `None` and `Some` would both be `rt.None` | `Option` | fixtures/reject/src/lib.rs:16:15 | | 2 | `_` of `_`, whose `None` is `rt.None`, which is not supported yet | `Iterator::scan`, `Option` | fixtures/reject/src/lib.rs:37:4 | | 2 | `_`, a trait object of another crate's trait, which is not supported yet | `dyn std::iter::Iterator` | fixtures/reject/src/lib.rs:11:16 | -| 2 | `_`, a trait object of the generic trait `_`, which is not supported yet | `dyn Scaled`, `Scaled` | fixtures/reject/src/lib.rs:442:23 | -| 2 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `u32`, `u8` | fixtures/reject/src/lib.rs:533:27 | -| 2 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `u8`, `u32` | fixtures/reject/src/lib.rs:2310:15 | -| 2 | a copy between pointers to `_`, which JS keeps as an object that knows no array it is in | `[u8; 4]` | fixtures/reject/src/lib.rs:1688:3 | -| 2 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::mem::MaybeUninit`, `Gap` | fixtures/reject/src/lib.rs:900:19 | -| 2 | a raw pointer to `_` in a variable assigned again while it may point there | `[u8; 4]` | fixtures/reject/src/lib.rs:1711:26 | -| 2 | a raw pointer to `_` in a variable assigned again while it may point there | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:674:15 | -| 2 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `[u8; 2]` | fixtures/reject/src/lib.rs:1704:37 | -| 2 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `[u8; 3]` | fixtures/reject/src/lib.rs:1704:15 | -| 2 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Inside` | fixtures/reject/src/lib.rs:1823:20 | -| 2 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `[u8; 4]` | fixtures/reject/src/lib.rs:1711:26 | +| 2 | `_`, a trait object of the generic trait `_`, which is not supported yet | `dyn Scaled`, `Scaled` | fixtures/reject/src/lib.rs:435:23 | +| 2 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `u32`, `u8` | fixtures/reject/src/lib.rs:532:27 | +| 2 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `u8`, `u32` | fixtures/reject/src/lib.rs:2309:15 | +| 2 | a copy between pointers to `_`, which JS keeps as an object that knows no array it is in | `[u8; 4]` | fixtures/reject/src/lib.rs:1687:3 | +| 2 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::mem::MaybeUninit`, `Gap` | fixtures/reject/src/lib.rs:899:19 | +| 2 | a raw pointer to `_` in a variable assigned again while it may point there | `[u8; 4]` | fixtures/reject/src/lib.rs:1710:26 | +| 2 | a raw pointer to `_` in a variable assigned again while it may point there | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:673:15 | +| 2 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `[u8; 2]` | fixtures/reject/src/lib.rs:1703:37 | +| 2 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `[u8; 3]` | fixtures/reject/src/lib.rs:1703:15 | +| 2 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Inside` | fixtures/reject/src/lib.rs:1822:20 | +| 2 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `[u8; 4]` | fixtures/reject/src/lib.rs:1710:26 | | 2 | an assignment through a reference to `_` | `std::pin::Pin` | fixtures/reject/src/lib.rs:107:2 | -| 2 | an offset of a pointer to `_`, which JS keeps as an object that knows no array it is in | `[u8; 4]` | fixtures/reject/src/lib.rs:1691:56 | -| 2 | comparing pointers to `_`, each a place JS makes of its own | `u32` | fixtures/reject/src/lib.rs:574:2 | -| 2 | memory from `alloc` cast to pointers to `_` and to `_`, which reads the bytes of one type as another | `u32`, `i32` | fixtures/reject/src/lib.rs:2324:7 | +| 2 | an offset of a pointer to `_`, which JS keeps as an object that knows no array it is in | `[u8; 4]` | fixtures/reject/src/lib.rs:1690:56 | +| 2 | an upcast from `_` to `_`, which is not supported yet | `dyn Keyed`, `dyn std::any::Any` | fixtures/reject/src/lib.rs:503:32 | +| 2 | comparing pointers to `_`, each a place JS makes of its own | `u32` | fixtures/reject/src/lib.rs:573:2 | +| 2 | memory from `alloc` cast to pointers to `_` and to `_`, which reads the bytes of one type as another | `u32`, `i32` | fixtures/reject/src/lib.rs:2323:7 | | 2 | replacing the value behind a reference to `_` | `std::pin::Pin` | fixtures/reject/src/lib.rs:91:2 | | 2 | unsupported call to `_` | `::sum` | fixtures/reject/src/lib.rs:412:17 | -| 1 | `Buf::copy_to_bytes` of `_`, a value JS copies, which is not supported | `Blank` | fixtures/reject/src/lib.rs:739:2 | +| 1 | `Buf::copy_to_bytes` of `_`, a value JS copies, which is not supported | `Blank` | fixtures/reject/src/lib.rs:738:2 | | 1 | `BufMut::put` of `_` into a `BytesMut`, which advances it by the room left in a capacity that depends on whether the other handles of its storage dropped, which is not supported | `Counted` | fixtures/reject/src/lib.rs:372:2 | | 1 | `BufMut::put` of `_` into a `BytesMut`, which picks the methods it calls by a capacity that depends on whether the other handles of its storage dropped, which is not supported | `Counted` | fixtures/reject/src/lib.rs:367:2 | | 1 | `Bytes::from_owner` of `_`, which would drop with the last clone of what it makes, which is not supported | `std::sync::Arc` | fixtures/reject/src/lib.rs:352:2 | -| 1 | `Extend` of `_` by `_`, whose `_` of `_` is not supported yet | `(std::vec::Vec, Tens)`, `(u8, u8)`, `Tens`, `u8` | fixtures/reject/src/lib.rs:1250:31 | +| 1 | `Extend` of `_` by `_`, whose `_` of `_` is not supported yet | `(std::vec::Vec, Tens)`, `(u8, u8)`, `Tens`, `u8` | fixtures/reject/src/lib.rs:1249:31 | | 1 | `_` is not supported: its `Pending` and `Ready` would both be `rt.OuterPending` | `Poll` | fixtures/reject/src/lib.rs:72:20 | | 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `None` would be `rt.None` as `_` | `Maybe`, `value`, `Option`, `T \| undefined`, `Option` | fixtures/reject/src/lib.rs:31:2 | -| 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `Pending` would be `rt.OuterPending` as `_` | `Waiting`, `poll`, `Poll`, `rt.Poll`, `Poll` | fixtures/reject/src/lib.rs:480:2 | +| 1 | `_` is not supported: its field `_` is `_`, typed `_`, whose `Pending` would be `rt.OuterPending` as `_` | `Waiting`, `poll`, `Poll`, `rt.Poll`, `Poll` | fixtures/reject/src/lib.rs:473:2 | | 1 | `_` of `_` by `_`, which is not supported yet | `HashMap::contains_key`, `std::collections::HashMap`, `u8` | fixtures/reject/src/lib.rs:253:6 | -| 1 | `_` of `_`, which is not supported yet | `std::any::Any::type_id`, `dyn std::any::Any` | fixtures/reject/src/lib.rs:516:4 | -| 1 | `_` of `_`, whose `clone_from` is its own, which is not supported yet | `Clone::clone_from`, `std::vec::Vec` | fixtures/reject/src/lib.rs:2249:4 | +| 1 | `_` of `_`, which is not supported yet | `std::any::Any::type_id`, `dyn std::any::Any` | fixtures/reject/src/lib.rs:515:4 | +| 1 | `_` of `_`, whose `clone_from` is its own, which is not supported yet | `Clone::clone_from`, `std::vec::Vec` | fixtures/reject/src/lib.rs:2248:4 | | 1 | `_` of `_`, whose `clone_from` is its own, which is not supported yet | `slice::clone_from_slice`, `Reused` | fixtures/reject/src/lib.rs:271:4 | | 1 | `_` of `_`, whose `clone_from` is its own, which is not supported yet | `slice::fill`, `Reused` | fixtures/reject/src/lib.rs:21:4 | -| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::collections::LinkedList::retain` | fixtures/reject/src/lib.rs:2095:4 | -| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::default::Default::default` | fixtures/reject/src/lib.rs:2097:2 | -| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::iter::once` | fixtures/reject/src/lib.rs:1213:22 | -| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::str::from_utf8_mut` | fixtures/reject/src/lib.rs:1620:20 | -| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::str::get_unchecked_mut` | fixtures/reject/src/lib.rs:1615:13 | +| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::collections::LinkedList::retain` | fixtures/reject/src/lib.rs:2094:4 | +| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::default::Default::default` | fixtures/reject/src/lib.rs:2096:2 | +| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::iter::once` | fixtures/reject/src/lib.rs:1212:22 | +| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::str::from_utf8_mut` | fixtures/reject/src/lib.rs:1619:20 | +| 1 | `_` with a mutable reference to a value JS copies, which its mapping would copy | `std::str::get_unchecked_mut` | fixtures/reject/src/lib.rs:1614:13 | | 1 | `_`, which reads a capacity that depends on whether the other handles of its storage dropped, which is not supported | `BytesMut::capacity` | fixtures/reject/src/lib.rs:361:6 | -| 1 | `clone_from` of `_`, whose items' `clone_from` is their own, which is not supported yet | `std::collections::LinkedList` | fixtures/reject/src/lib.rs:2096:4 | -| 1 | `collect` of `_`, which sorts by `_`'s own `Ord`, of entries that drop, which is not supported yet | `std::collections::BTreeMap`, `std::cell::Cell` | fixtures/reject/src/lib.rs:933:22 | +| 1 | `clone_from` of `_`, whose items' `clone_from` is their own, which is not supported yet | `std::collections::LinkedList` | fixtures/reject/src/lib.rs:2095:4 | +| 1 | `collect` of `_`, which sorts by `_`'s own `Ord`, of entries that drop, which is not supported yet | `std::collections::BTreeMap`, `std::cell::Cell` | fixtures/reject/src/lib.rs:932:22 | | 1 | `fmt::Arguments` with a placeholder, or not made in place, written to `_`'s own `fmt::Write`, which is not supported yet: std splits what a placeholder writes into `write_str` calls the runtime does not make | `Sink` | fixtures/reject/src/lib.rs:55:10 | -| 1 | `offset_from` of pointers to `_`, which JS keeps as an object that knows no array it is in | `(u8, u8)` | fixtures/reject/src/lib.rs:2143:36 | +| 1 | `offset_from` of pointers to `_`, which JS keeps as an object that knows no array it is in | `(u8, u8)` | fixtures/reject/src/lib.rs:2142:36 | | 1 | a `collect` in place of `_`, a zip std reads by index, holding values that drop, which is not supported yet | `std::iter::Map` | fixtures/reject/src/lib.rs:209:40 | | 1 | a `skip` of `_`, a zip std reads by index, of items that drop, which is not supported yet | `std::iter::Zip` | fixtures/reject/src/lib.rs:202:8 | | 1 | a cast from `_` to `_` | `u64`, `f16` | fixtures/reject/src/lib.rs:68:2 | -| 1 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `u32`, `[u32; 2]` | fixtures/reject/src/lib.rs:2155:13 | -| 1 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `u8`, `Halves` | fixtures/reject/src/lib.rs:2311:16 | +| 1 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `u32`, `[u32; 2]` | fixtures/reject/src/lib.rs:2154:13 | +| 1 | a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another | `u8`, `Halves` | fixtures/reject/src/lib.rs:2310:16 | | 1 | a coercion to `_` | `std::sync::Arc` | fixtures/reject/src/lib.rs:276:2 | -| 1 | a coercion to `_`, which is not supported yet | `&Tail` | fixtures/reject/src/lib.rs:469:30 | -| 1 | a coercion to `_`, which is not supported yet | `std::sync::Weak` | fixtures/reject/src/lib.rs:433:40 | -| 1 | a constant of type `_`, a pointer into memory translation can't name | `&u32` | fixtures/reject/src/lib.rs:756:3 | -| 1 | a copy between pointers to `_`, which JS keeps as an object that knows no array it is in | `(u8, u8)` | fixtures/reject/src/lib.rs:2140:3 | -| 1 | a dangling pointer to `_`, a value of no bytes made of more than structs and tuples | `Only` | fixtures/reject/src/lib.rs:715:11 | +| 1 | a coercion to `_`, which is not supported yet | `&Tail` | fixtures/reject/src/lib.rs:462:30 | +| 1 | a constant of type `_`, a pointer into memory translation can't name | `&u32` | fixtures/reject/src/lib.rs:755:3 | +| 1 | a copy between pointers to `_`, which JS keeps as an object that knows no array it is in | `(u8, u8)` | fixtures/reject/src/lib.rs:2139:3 | +| 1 | a dangling pointer to `_`, a value of no bytes made of more than structs and tuples | `Only` | fixtures/reject/src/lib.rs:714:11 | | 1 | a future of `_`, which can be `rt.Pending`, as the future's own `Pending` is | `std::task::Poll` | fixtures/reject/src/lib.rs:77:34 | -| 1 | a mapped guard of `_`, which JS can't write in place | `{closure}` | fixtures/reject/src/lib.rs:2130:10 | -| 1 | a pointer into `_`, which JS keeps as an object that knows no array it is in | `(u8, u8)` | fixtures/reject/src/lib.rs:2137:12 | -| 1 | a pointer into an array of `_`, which JS keeps as an object that knows no array it is in | `(u8, u8)` | fixtures/reject/src/lib.rs:2142:30 | -| 1 | a raw pointer to `_` behind a reference, which is the object and not where it is kept | `std::vec::Vec` | fixtures/reject/src/lib.rs:555:10 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u16, u16)`, `Copied` | fixtures/reject/src/lib.rs:1154:31 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u16, u16)`, `Pushed` | fixtures/reject/src/lib.rs:1226:22 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Lane` | fixtures/reject/src/lib.rs:850:19 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Plain` | fixtures/reject/src/lib.rs:804:10 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Span2` | fixtures/reject/src/lib.rs:586:10 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Track` | fixtures/reject/src/lib.rs:830:19 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Window` | fixtures/reject/src/lib.rs:647:2 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:665:15 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `(Dropped, (u8, u8))` | fixtures/reject/src/lib.rs:2383:2 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Cloned; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2367:2 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Greatest; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2401:13 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Touched; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2432:2 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeyReplace`, `(u16, ByKeyReplace)` | fixtures/reject/src/lib.rs:1599:55 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeySet`, `(u16, ByKeySet)` | fixtures/reject/src/lib.rs:1591:51 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeyTake`, `(u16, ByKeyTake)` | fixtures/reject/src/lib.rs:1606:52 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByRefReplace`, `(u16, ByRefReplace)` | fixtures/reject/src/lib.rs:1575:32 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByRefTake`, `(u16, ByRefTake)` | fixtures/reject/src/lib.rs:1583:32 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `[u32; 3]`, `Lanes` | fixtures/reject/src/lib.rs:2170:10 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Aliased` | fixtures/reject/src/lib.rs:1098:29 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByBox` | fixtures/reject/src/lib.rs:1482:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByClosure` | fixtures/reject/src/lib.rs:1497:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByExchanged` | fixtures/reject/src/lib.rs:1543:30 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByInstance` | fixtures/reject/src/lib.rs:1523:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByObject` | fixtures/reject/src/lib.rs:1510:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByRead` | fixtures/reject/src/lib.rs:1433:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByReplace` | fixtures/reject/src/lib.rs:1471:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `BySwap` | fixtures/reject/src/lib.rs:1459:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `BySwapped` | fixtures/reject/src/lib.rs:1532:76 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByWrite` | fixtures/reject/src/lib.rs:1446:35 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Called` | fixtures/reject/src/lib.rs:1064:28 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Escaped` | fixtures/reject/src/lib.rs:1050:43 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Hits` | fixtures/reject/src/lib.rs:698:21 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InArray` | fixtures/reject/src/lib.rs:1280:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InField` | fixtures/reject/src/lib.rs:1296:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InGeneric` | fixtures/reject/src/lib.rs:1300:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InNested` | fixtures/reject/src/lib.rs:1288:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InPayload` | fixtures/reject/src/lib.rs:1292:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InTuple` | fixtures/reject/src/lib.rs:1284:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InWritten` | fixtures/reject/src/lib.rs:1304:9 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Loaded` | fixtures/reject/src/lib.rs:1120:29 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Looped` | fixtures/reject/src/lib.rs:1088:26 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Mapped` | fixtures/reject/src/lib.rs:1165:39 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Onced` | fixtures/reject/src/lib.rs:1211:46 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Repeated` | fixtures/reject/src/lib.rs:1199:18 | -| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Rewritten` | fixtures/reject/src/lib.rs:1108:47 | -| 1 | a raw pointer to `_` in a variable assigned again while it may point there | `Target` | fixtures/reject/src/lib.rs:1647:10 | -| 1 | a raw pointer to `_` in a variable assigned again while it may point there | `[u32; 3]` | fixtures/reject/src/lib.rs:2168:10 | -| 1 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `(u32, u32)` | fixtures/reject/src/lib.rs:657:10 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InArray`, `[InArray; 2]` | fixtures/reject/src/lib.rs:1315:33 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InTuple`, `(u16, InTuple)` | fixtures/reject/src/lib.rs:1324:33 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InWritten`, `[InWritten; 1]` | fixtures/reject/src/lib.rs:1376:35 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `Parked`, `Parking` | fixtures/reject/src/lib.rs:2115:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Assigned` | fixtures/reject/src/lib.rs:1990:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Closed` | fixtures/reject/src/lib.rs:2056:15 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Deeper` | fixtures/reject/src/lib.rs:2016:22 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Dynamic` | fixtures/reject/src/lib.rs:2040:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Replaced` | fixtures/reject/src/lib.rs:1935:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Swapped` | fixtures/reject/src/lib.rs:1953:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Taken` | fixtures/reject/src/lib.rs:1971:20 | -| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `[std::cell::UnsafeCell; 2]` | fixtures/reject/src/lib.rs:2069:20 | -| 1 | a reference through which a raw pointer may be made into `_` in an element, a payload, or a union field, which is not supported yet | `InPayload` | fixtures/reject/src/lib.rs:1342:11 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Behind` | fixtures/reject/src/lib.rs:1729:22 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Chosen` | fixtures/reject/src/lib.rs:1884:17 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Compared` | fixtures/reject/src/lib.rs:1851:22 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Deep` | fixtures/reject/src/lib.rs:1765:18 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Enclosing` | fixtures/reject/src/lib.rs:1868:22 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Shared` | fixtures/reject/src/lib.rs:1806:20 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Slotted` | fixtures/reject/src/lib.rs:1787:21 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Unboxed` | fixtures/reject/src/lib.rs:1744:16 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Wrapped` | fixtures/reject/src/lib.rs:1912:21 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:1633:18 | -| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `std::option::Option` | fixtures/reject/src/lib.rs:2086:13 | +| 1 | a mapped guard of `_`, which JS can't write in place | `{closure}` | fixtures/reject/src/lib.rs:2129:10 | +| 1 | a pointer into `_`, which JS keeps as an object that knows no array it is in | `(u8, u8)` | fixtures/reject/src/lib.rs:2136:12 | +| 1 | a pointer into an array of `_`, which JS keeps as an object that knows no array it is in | `(u8, u8)` | fixtures/reject/src/lib.rs:2141:30 | +| 1 | a raw pointer to `_` behind a reference, which is the object and not where it is kept | `std::vec::Vec` | fixtures/reject/src/lib.rs:554:10 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u16, u16)`, `Copied` | fixtures/reject/src/lib.rs:1153:31 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u16, u16)`, `Pushed` | fixtures/reject/src/lib.rs:1225:22 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Lane` | fixtures/reject/src/lib.rs:849:19 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Plain` | fixtures/reject/src/lib.rs:803:10 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Span2` | fixtures/reject/src/lib.rs:585:10 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Track` | fixtures/reject/src/lib.rs:829:19 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `Window` | fixtures/reject/src/lib.rs:646:2 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u32, u32)`, `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:664:15 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `(Dropped, (u8, u8))` | fixtures/reject/src/lib.rs:2382:2 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Cloned; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2366:2 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Greatest; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2400:13 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `(u8, u8)`, `([Touched; 2], (u8, u8))` | fixtures/reject/src/lib.rs:2431:2 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeyReplace`, `(u16, ByKeyReplace)` | fixtures/reject/src/lib.rs:1598:55 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeySet`, `(u16, ByKeySet)` | fixtures/reject/src/lib.rs:1590:51 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByKeyTake`, `(u16, ByKeyTake)` | fixtures/reject/src/lib.rs:1605:52 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByRefReplace`, `(u16, ByRefReplace)` | fixtures/reject/src/lib.rs:1574:32 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `ByRefTake`, `(u16, ByRefTake)` | fixtures/reject/src/lib.rs:1582:32 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `[u32; 3]`, `Lanes` | fixtures/reject/src/lib.rs:2169:10 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Aliased` | fixtures/reject/src/lib.rs:1097:29 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByBox` | fixtures/reject/src/lib.rs:1481:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByClosure` | fixtures/reject/src/lib.rs:1496:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByExchanged` | fixtures/reject/src/lib.rs:1542:30 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByInstance` | fixtures/reject/src/lib.rs:1522:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByObject` | fixtures/reject/src/lib.rs:1509:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByRead` | fixtures/reject/src/lib.rs:1432:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByReplace` | fixtures/reject/src/lib.rs:1470:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `BySwap` | fixtures/reject/src/lib.rs:1458:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `BySwapped` | fixtures/reject/src/lib.rs:1531:76 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `ByWrite` | fixtures/reject/src/lib.rs:1445:35 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Called` | fixtures/reject/src/lib.rs:1063:28 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Escaped` | fixtures/reject/src/lib.rs:1049:43 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Hits` | fixtures/reject/src/lib.rs:697:21 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InArray` | fixtures/reject/src/lib.rs:1279:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InField` | fixtures/reject/src/lib.rs:1295:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InGeneric` | fixtures/reject/src/lib.rs:1299:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InNested` | fixtures/reject/src/lib.rs:1287:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InPayload` | fixtures/reject/src/lib.rs:1291:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InTuple` | fixtures/reject/src/lib.rs:1283:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `InWritten` | fixtures/reject/src/lib.rs:1303:9 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Loaded` | fixtures/reject/src/lib.rs:1119:29 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Looped` | fixtures/reject/src/lib.rs:1087:26 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Mapped` | fixtures/reject/src/lib.rs:1164:39 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Onced` | fixtures/reject/src/lib.rs:1210:46 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Repeated` | fixtures/reject/src/lib.rs:1198:18 | +| 1 | a raw pointer to `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Rewritten` | fixtures/reject/src/lib.rs:1107:47 | +| 1 | a raw pointer to `_` in a variable assigned again while it may point there | `Target` | fixtures/reject/src/lib.rs:1646:10 | +| 1 | a raw pointer to `_` in a variable assigned again while it may point there | `[u32; 3]` | fixtures/reject/src/lib.rs:2167:10 | +| 1 | a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet | `(u32, u32)` | fixtures/reject/src/lib.rs:656:10 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InArray`, `[InArray; 2]` | fixtures/reject/src/lib.rs:1314:33 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InTuple`, `(u16, InTuple)` | fixtures/reject/src/lib.rs:1323:33 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `InWritten`, `[InWritten; 1]` | fixtures/reject/src/lib.rs:1375:35 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `Parked`, `Parking` | fixtures/reject/src/lib.rs:2114:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Assigned` | fixtures/reject/src/lib.rs:1989:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Closed` | fixtures/reject/src/lib.rs:2055:15 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Deeper` | fixtures/reject/src/lib.rs:2015:22 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Dynamic` | fixtures/reject/src/lib.rs:2039:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Replaced` | fixtures/reject/src/lib.rs:1934:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Swapped` | fixtures/reject/src/lib.rs:1952:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `Taken` | fixtures/reject/src/lib.rs:1970:20 | +| 1 | a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of | `std::cell::UnsafeCell`, `[std::cell::UnsafeCell; 2]` | fixtures/reject/src/lib.rs:2068:20 | +| 1 | a reference through which a raw pointer may be made into `_` in an element, a payload, or a union field, which is not supported yet | `InPayload` | fixtures/reject/src/lib.rs:1341:11 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Behind` | fixtures/reject/src/lib.rs:1728:22 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Chosen` | fixtures/reject/src/lib.rs:1883:17 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Compared` | fixtures/reject/src/lib.rs:1850:22 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Deep` | fixtures/reject/src/lib.rs:1764:18 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Enclosing` | fixtures/reject/src/lib.rs:1867:22 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Shared` | fixtures/reject/src/lib.rs:1805:20 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Slotted` | fixtures/reject/src/lib.rs:1786:21 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Unboxed` | fixtures/reject/src/lib.rs:1743:16 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `Wrapped` | fixtures/reject/src/lib.rs:1911:21 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `std::cell::UnsafeCell` | fixtures/reject/src/lib.rs:1632:18 | +| 1 | a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there | `std::option::Option` | fixtures/reject/src/lib.rs:2085:13 | | 1 | a scalar constant of type `_` | `f16` | fixtures/reject/src/lib.rs:8:2 | -| 1 | a slice from a pointer to `_`, which JS keeps as an object that knows no array it is in | `(u8, u8)` | fixtures/reject/src/lib.rs:2141:11 | -| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `Reused` | fixtures/reject/src/lib.rs:2244:2 | -| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `std::cell::LazyCell` | fixtures/reject/src/lib.rs:2286:3 | -| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `std::thread::LocalKey` | fixtures/reject/src/lib.rs:2297:2 | -| 1 | a trait object of `_`, which is not supported yet | `[u8; 4]` | fixtures/reject/src/lib.rs:459:26 | -| 1 | an assignment through a reference to `_` | `std::sync::LazyLock` | fixtures/reject/src/lib.rs:2291:2 | +| 1 | a slice from a pointer to `_`, which JS keeps as an object that knows no array it is in | `(u8, u8)` | fixtures/reject/src/lib.rs:2140:11 | +| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `Reused` | fixtures/reject/src/lib.rs:2243:2 | +| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `std::cell::LazyCell` | fixtures/reject/src/lib.rs:2285:3 | +| 1 | a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there | `std::thread::LocalKey` | fixtures/reject/src/lib.rs:2296:2 | +| 1 | a trait object of `_`, which is not supported yet | `[u8; 4]` | fixtures/reject/src/lib.rs:452:26 | +| 1 | an assignment through a reference to `_` | `std::sync::LazyLock` | fixtures/reject/src/lib.rs:2290:2 | | 1 | an assignment through a reference to `_` | `std::sync::MutexGuard` | fixtures/reject/src/lib.rs:83:2 | | 1 | an iterator of the crate implementing `_`, which is not supported yet | `DoubleEndedIterator` | fixtures/reject/src/lib.rs:145:1 | | 1 | an iterator of the crate implementing `_`, which is not supported yet | `FusedIterator` | fixtures/reject/src/lib.rs:193:1 | -| 1 | an offset of a pointer to `_`, which JS keeps as an object that knows no array it is in | `(u8, u8)` | fixtures/reject/src/lib.rs:2139:13 | -| 1 | an upcast from `_` to `_`, which is not supported yet | `dyn Keyed`, `dyn std::any::Any` | fixtures/reject/src/lib.rs:510:32 | +| 1 | an offset of a pointer to `_`, which JS keeps as an object that knows no array it is in | `(u8, u8)` | fixtures/reject/src/lib.rs:2138:13 | | 1 | arithmetic on `_` | `f16` | fixtures/reject/src/lib.rs:8:2 | -| 1 | comparing `_` | `*mut [u8; 4]` | fixtures/reject/src/lib.rs:1690:41 | +| 1 | comparing `_` | `*mut [u8; 4]` | fixtures/reject/src/lib.rs:1689:41 | | 1 | comparing `_` as a key, which is not supported yet | `std::collections::BTreeSet` | fixtures/reject/src/lib.rs:235:75 | -| 1 | comparing pointers to `_` in an atomic, which JS has no address of | `u32` | fixtures/reject/src/lib.rs:755:15 | -| 1 | comparing pointers to `_`, which has no bytes and so no address of its own | `Fused` | fixtures/reject/src/lib.rs:706:70 | -| 1 | const generic types are not supported: `_` | `Block` | fixtures/reject/src/lib.rs:2075:1 | +| 1 | comparing pointers to `_` in an atomic, which JS has no address of | `u32` | fixtures/reject/src/lib.rs:754:15 | +| 1 | comparing pointers to `_`, which has no bytes and so no address of its own | `Fused` | fixtures/reject/src/lib.rs:705:70 | +| 1 | const generic types are not supported: `_` | `Block` | fixtures/reject/src/lib.rs:2074:1 | | 1 | constructing `_` | `std::borrow::Cow` | fixtures/reject/src/lib.rs:327:53 | | 1 | hashing `_` as a key, which is not supported yet | `std::collections::BTreeSet` | fixtures/reject/src/lib.rs:235:75 | -| 1 | hashing `_` by its address, which JS has no counterpart of | `*const [u8; 4]` | fixtures/reject/src/lib.rs:1694:5 | +| 1 | hashing `_` by its address, which JS has no counterpart of | `*const [u8; 4]` | fixtures/reject/src/lib.rs:1693:5 | | 1 | hashing `_` through `_`'s own `Hash::hash_slice`, which is not supported yet | `std::vec::Vec`, `Batched` | fixtures/reject/src/lib.rs:295:16 | | 1 | overriding `_`, which std's adaptors call in place of `next` or beside it | `Iterator::fold` | fixtures/reject/src/lib.rs:125:2 | | 1 | overriding `_`, which std's adaptors call in place of `next` or beside it | `Iterator::size_hint` | fixtures/reject/src/lib.rs:173:2 | -| 1 | passing `_`, which drops, to `_`, which is not supported yet | `{closure}`, `String::retain` | fixtures/reject/src/lib.rs:762:4 | +| 1 | passing `_`, which drops, to `_`, which is not supported yet | `{closure}`, `String::retain` | fixtures/reject/src/lib.rs:761:4 | | 1 | passing `_`, which drops, to `_`, which is not supported yet | `{closure}`, `str::contains` | fixtures/reject/src/lib.rs:304:4 | | 1 | replacing the value behind a reference to `_` | `std::sync::MutexGuard` | fixtures/reject/src/lib.rs:112:2 | -| 1 | union `_`, whose fields overlap in `_` and `f64`, which JS keeps apart | `Bits`, `u32` | fixtures/reject/src/lib.rs:560:1 | -| 1 | unsupported call to `_` | `::eq` | fixtures/reject/src/lib.rs:516:2 | -| 1 | unsupported call to `_` | `::contains` | fixtures/reject/src/lib.rs:962:32 | +| 1 | union `_`, whose fields overlap in `_` and `f64`, which JS keeps apart | `Bits`, `u32` | fixtures/reject/src/lib.rs:559:1 | +| 1 | unsupported call to `_` | `::eq` | fixtures/reject/src/lib.rs:515:2 | +| 1 | unsupported call to `_` | `::contains` | fixtures/reject/src/lib.rs:961:32 | | 1 | unsupported call to `_` | `::eq` | fixtures/reject/src/lib.rs:347:2 | -| 1 | unsupported call to `_` | `::is_sorted` | fixtures/reject/src/lib.rs:744:15 | +| 1 | unsupported call to `_` | `::is_sorted` | fixtures/reject/src/lib.rs:743:15 | | 1 | unsupported call to `_` | `::hash` | fixtures/reject/src/lib.rs:286:10 | -| 1 | unsupported call to `_` | `std::any::TypeId::of` | fixtures/reject/src/lib.rs:516:17 | +| 1 | unsupported call to `_` | `std::any::TypeId::of` | fixtures/reject/src/lib.rs:515:17 | | 1 | unsupported call to `_` | `std::borrow::Cow::is_borrowed` | fixtures/reject/src/lib.rs:321:2 | -| 1 | unsupported call to `_` | `std::mem::size_of_val` | fixtures/reject/src/lib.rs:2254:2 | -| 1 | unsupported call to `_` | `std::num::is_ascii_octdigit` | fixtures/reject/src/lib.rs:1255:4 | +| 1 | unsupported call to `_` | `std::mem::size_of_val` | fixtures/reject/src/lib.rs:2253:2 | +| 1 | unsupported call to `_` | `std::num::is_ascii_octdigit` | fixtures/reject/src/lib.rs:1254:4 | | 1 | unsupported call to `_` | `std::ops::Range::contains` | fixtures/reject/src/lib.rs:160:8 | -| 1 | unsupported call to `_` | `std::ops::Range::is_empty` | fixtures/reject/src/lib.rs:967:9 | -| 1 | unsupported call to `_` | `std::ops::RangeTo::contains` | fixtures/reject/src/lib.rs:962:11 | -| 1 | unsupported call to `_` | `std::ptr::addr_eq` | fixtures/reject/src/lib.rs:1690:14 | -| 1 | unsupported call to `_` | `std::std::alloc_zeroed` | fixtures/reject/src/lib.rs:2338:13 | -| 1 | unsupported call to `_` | `std::str::as_bytes_mut` | fixtures/reject/src/lib.rs:1614:13 | +| 1 | unsupported call to `_` | `std::ops::Range::is_empty` | fixtures/reject/src/lib.rs:966:9 | +| 1 | unsupported call to `_` | `std::ops::RangeTo::contains` | fixtures/reject/src/lib.rs:961:11 | +| 1 | unsupported call to `_` | `std::ptr::addr_eq` | fixtures/reject/src/lib.rs:1689:14 | +| 1 | unsupported call to `_` | `std::std::alloc_zeroed` | fixtures/reject/src/lib.rs:2337:13 | +| 1 | unsupported call to `_` | `std::str::as_bytes_mut` | fixtures/reject/src/lib.rs:1613:13 | | 1 | unsupported call to `_` | `std::str::parse` | fixtures/reject/src/lib.rs:417:4 | | 1 | unsupported type `_` from another crate | `std::net::AddrParseError` | fixtures/reject/src/lib.rs:416:32 | | 1 | unsupported type `_` from another crate | `std::net::Ipv4Addr` | fixtures/reject/src/lib.rs:416:32 | @@ -460,84 +458,84 @@ The type or module each refused type or path belongs to.
a raw pointer to `_` in `_`, which the crate may put another object in place of (50) -- fixtures/reject/src/lib.rs:586:10: a raw pointer to `(u32, u32)` in `Span2`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:647:2: a raw pointer to `(u32, u32)` in `Window`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:665:15: a raw pointer to `(u32, u32)` in `std::cell::UnsafeCell<(u32, u32)>`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:698:21: a raw pointer to `std::cell::UnsafeCell` in `Hits`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:804:10: a raw pointer to `(u32, u32)` in `Plain`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:830:19: a raw pointer to `(u32, u32)` in `Track`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:850:19: a raw pointer to `(u32, u32)` in `Lane`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:585:10: a raw pointer to `(u32, u32)` in `Span2`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:646:2: a raw pointer to `(u32, u32)` in `Window`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:664:15: a raw pointer to `(u32, u32)` in `std::cell::UnsafeCell<(u32, u32)>`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:697:21: a raw pointer to `std::cell::UnsafeCell` in `Hits`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:803:10: a raw pointer to `(u32, u32)` in `Plain`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:829:19: a raw pointer to `(u32, u32)` in `Track`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:849:19: a raw pointer to `(u32, u32)` in `Lane`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:885:10: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of - fixtures/reject/src/lib.rs:886:10: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:887:10: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:888:58: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:887:58: a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:899:19: a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of - fixtures/reject/src/lib.rs:900:19: a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:901:19: a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1050:43: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Escaped`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1064:28: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Called`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1088:26: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Looped`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1098:29: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Aliased`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1108:47: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Rewritten`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1120:29: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Loaded`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1154:31: a raw pointer to `(u16, u16)` in `Copied`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1165:39: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Mapped`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1199:18: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Repeated`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1211:46: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Onced`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1226:22: a raw pointer to `(u16, u16)` in `Pushed`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1280:9: a raw pointer to `std::cell::UnsafeCell` in `InArray`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1284:9: a raw pointer to `std::cell::UnsafeCell` in `InTuple`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1288:9: a raw pointer to `std::cell::UnsafeCell` in `InNested`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1292:9: a raw pointer to `std::cell::UnsafeCell` in `InPayload`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1296:9: a raw pointer to `std::cell::UnsafeCell` in `InField`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1300:9: a raw pointer to `std::cell::UnsafeCell` in `InGeneric`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1304:9: a raw pointer to `std::cell::UnsafeCell` in `InWritten`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1433:35: a raw pointer to `std::cell::UnsafeCell` in `ByRead`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1446:35: a raw pointer to `std::cell::UnsafeCell` in `ByWrite`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1459:35: a raw pointer to `std::cell::UnsafeCell` in `BySwap`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1471:35: a raw pointer to `std::cell::UnsafeCell` in `ByReplace`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1482:35: a raw pointer to `std::cell::UnsafeCell` in `ByBox`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1497:35: a raw pointer to `std::cell::UnsafeCell` in `ByClosure`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1510:35: a raw pointer to `std::cell::UnsafeCell` in `ByObject`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1523:35: a raw pointer to `std::cell::UnsafeCell` in `ByInstance`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1532:76: a raw pointer to `std::cell::UnsafeCell` in `BySwapped`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1543:30: a raw pointer to `std::cell::UnsafeCell` in `ByExchanged`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1575:32: a raw pointer to `ByRefReplace` in `(u16, ByRefReplace)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1583:32: a raw pointer to `ByRefTake` in `(u16, ByRefTake)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1591:51: a raw pointer to `ByKeySet` in `(u16, ByKeySet)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1599:55: a raw pointer to `ByKeyReplace` in `(u16, ByKeyReplace)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1606:52: a raw pointer to `ByKeyTake` in `(u16, ByKeyTake)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2170:10: a raw pointer to `[u32; 3]` in `Lanes`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2367:2: a raw pointer to `(u8, u8)` in `([Cloned; 2], (u8, u8))`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2383:2: a raw pointer to `(u8, u8)` in `(Dropped, (u8, u8))`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2401:13: a raw pointer to `(u8, u8)` in `([Greatest; 2], (u8, u8))`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2432:2: a raw pointer to `(u8, u8)` in `([Touched; 2], (u8, u8))`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1049:43: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Escaped`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1063:28: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Called`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1087:26: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Looped`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1097:29: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Aliased`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1107:47: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Rewritten`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1119:29: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Loaded`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1153:31: a raw pointer to `(u16, u16)` in `Copied`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1164:39: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Mapped`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1198:18: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Repeated`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1210:46: a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Onced`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1225:22: a raw pointer to `(u16, u16)` in `Pushed`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1279:9: a raw pointer to `std::cell::UnsafeCell` in `InArray`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1283:9: a raw pointer to `std::cell::UnsafeCell` in `InTuple`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1287:9: a raw pointer to `std::cell::UnsafeCell` in `InNested`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1291:9: a raw pointer to `std::cell::UnsafeCell` in `InPayload`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1295:9: a raw pointer to `std::cell::UnsafeCell` in `InField`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1299:9: a raw pointer to `std::cell::UnsafeCell` in `InGeneric`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1303:9: a raw pointer to `std::cell::UnsafeCell` in `InWritten`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1432:35: a raw pointer to `std::cell::UnsafeCell` in `ByRead`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1445:35: a raw pointer to `std::cell::UnsafeCell` in `ByWrite`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1458:35: a raw pointer to `std::cell::UnsafeCell` in `BySwap`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1470:35: a raw pointer to `std::cell::UnsafeCell` in `ByReplace`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1481:35: a raw pointer to `std::cell::UnsafeCell` in `ByBox`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1496:35: a raw pointer to `std::cell::UnsafeCell` in `ByClosure`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1509:35: a raw pointer to `std::cell::UnsafeCell` in `ByObject`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1522:35: a raw pointer to `std::cell::UnsafeCell` in `ByInstance`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1531:76: a raw pointer to `std::cell::UnsafeCell` in `BySwapped`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1542:30: a raw pointer to `std::cell::UnsafeCell` in `ByExchanged`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1574:32: a raw pointer to `ByRefReplace` in `(u16, ByRefReplace)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1582:32: a raw pointer to `ByRefTake` in `(u16, ByRefTake)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1590:51: a raw pointer to `ByKeySet` in `(u16, ByKeySet)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1598:55: a raw pointer to `ByKeyReplace` in `(u16, ByKeyReplace)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1605:52: a raw pointer to `ByKeyTake` in `(u16, ByKeyTake)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2169:10: a raw pointer to `[u32; 3]` in `Lanes`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2366:2: a raw pointer to `(u8, u8)` in `([Cloned; 2], (u8, u8))`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2382:2: a raw pointer to `(u8, u8)` in `(Dropped, (u8, u8))`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2400:13: a raw pointer to `(u8, u8)` in `([Greatest; 2], (u8, u8))`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2431:2: a raw pointer to `(u8, u8)` in `([Touched; 2], (u8, u8))`, which the crate may put another object in place of
a raw pointer to `_` in a variable assigned again while it may point there (23) -- fixtures/reject/src/lib.rs:594:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:602:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:611:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:619:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:628:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:636:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:674:15: a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:687:15: a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:979:26: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:992:22: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1002:12: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1011:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1021:17: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1026:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1647:10: a raw pointer to `Target` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1660:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1675:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1711:26: a raw pointer to `[u8; 4]` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:1712:10: a raw pointer to `[u8; 4]` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:2168:10: a raw pointer to `[u32; 3]` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:2260:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:2268:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there -- fixtures/reject/src/lib.rs:2276:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:593:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:601:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:610:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:618:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:627:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:635:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:673:15: a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:686:15: a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:978:26: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:991:22: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1001:12: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1010:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1020:17: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1025:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1646:10: a raw pointer to `Target` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1659:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1674:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1710:26: a raw pointer to `[u8; 4]` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:1711:10: a raw pointer to `[u8; 4]` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:2167:10: a raw pointer to `[u32; 3]` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:2259:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:2267:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there +- fixtures/reject/src/lib.rs:2275:10: a raw pointer to `(u32, u32)` in a variable assigned again while it may point there
@@ -550,98 +548,98 @@ The type or module each refused type or path belongs to. - fixtures/reject/src/lib.rs:412:17: unsupported call to ` as std::iter::Iterator>::sum::` - fixtures/reject/src/lib.rs:412:38: unsupported call to ` as std::iter::Iterator>::sum::` - fixtures/reject/src/lib.rs:417:4: unsupported call to `core::str::::parse::` -- fixtures/reject/src/lib.rs:516:2: unsupported call to `::eq` -- fixtures/reject/src/lib.rs:516:17: unsupported call to `std::any::TypeId::of::` -- fixtures/reject/src/lib.rs:744:15: unsupported call to ` as std::iter::Iterator>::is_sorted` -- fixtures/reject/src/lib.rs:962:11: unsupported call to `std::ops::RangeTo::::contains::` -- fixtures/reject/src/lib.rs:962:32: unsupported call to ` as std::ops::RangeBounds>::contains::` -- fixtures/reject/src/lib.rs:967:9: unsupported call to `std::ops::Range::<&mut u8>::is_empty` -- fixtures/reject/src/lib.rs:1255:4: unsupported call to `core::num::::is_ascii_octdigit` -- fixtures/reject/src/lib.rs:1614:13: unsupported call to `core::str::::as_bytes_mut` -- fixtures/reject/src/lib.rs:1690:14: unsupported call to `std::ptr::addr_eq::<[u8; 4], [u8; 4]>` -- fixtures/reject/src/lib.rs:2254:2: unsupported call to `std::mem::size_of_val::` -- fixtures/reject/src/lib.rs:2338:13: unsupported call to `std::alloc::alloc_zeroed` +- fixtures/reject/src/lib.rs:515:2: unsupported call to `::eq` +- fixtures/reject/src/lib.rs:515:17: unsupported call to `std::any::TypeId::of::` +- fixtures/reject/src/lib.rs:743:15: unsupported call to ` as std::iter::Iterator>::is_sorted` +- fixtures/reject/src/lib.rs:961:11: unsupported call to `std::ops::RangeTo::::contains::` +- fixtures/reject/src/lib.rs:961:32: unsupported call to ` as std::ops::RangeBounds>::contains::` +- fixtures/reject/src/lib.rs:966:9: unsupported call to `std::ops::Range::<&mut u8>::is_empty` +- fixtures/reject/src/lib.rs:1254:4: unsupported call to `core::num::::is_ascii_octdigit` +- fixtures/reject/src/lib.rs:1613:13: unsupported call to `core::str::::as_bytes_mut` +- fixtures/reject/src/lib.rs:1689:14: unsupported call to `std::ptr::addr_eq::<[u8; 4], [u8; 4]>` +- fixtures/reject/src/lib.rs:2253:2: unsupported call to `std::mem::size_of_val::` +- fixtures/reject/src/lib.rs:2337:13: unsupported call to `std::alloc::alloc_zeroed`
a reference through which a raw pointer may be made into `_` in `_`, which the crate may put another object in place of (15) -- fixtures/reject/src/lib.rs:1315:33: a reference through which a raw pointer may be made into `InArray` in `[InArray; 2]`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1324:33: a reference through which a raw pointer may be made into `InTuple` in `(u16, InTuple)`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1333:34: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1354:33: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1367:35: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1376:35: a reference through which a raw pointer may be made into `InWritten` in `[InWritten; 1]`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1935:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Replaced`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1953:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Swapped`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1971:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Taken`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:1990:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Assigned`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2016:22: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Deeper`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2040:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Dynamic`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2056:15: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Closed`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2069:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `[std::cell::UnsafeCell; 2]`, which the crate may put another object in place of -- fixtures/reject/src/lib.rs:2115:20: a reference through which a raw pointer may be made into `Parked` in `Parking`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1314:33: a reference through which a raw pointer may be made into `InArray` in `[InArray; 2]`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1323:33: a reference through which a raw pointer may be made into `InTuple` in `(u16, InTuple)`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1332:34: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1353:33: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1366:35: a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1375:35: a reference through which a raw pointer may be made into `InWritten` in `[InWritten; 1]`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1934:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Replaced`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1952:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Swapped`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1970:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Taken`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:1989:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Assigned`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2015:22: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Deeper`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2039:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Dynamic`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2055:15: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Closed`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2068:20: a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `[std::cell::UnsafeCell; 2]`, which the crate may put another object in place of +- fixtures/reject/src/lib.rs:2114:20: a reference through which a raw pointer may be made into `Parked` in `Parking`, which the crate may put another object in place of
a reference to `_`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there (15) -- fixtures/reject/src/lib.rs:1633:18: a reference to `std::cell::UnsafeCell`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1711:26: a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1729:22: a reference to `Behind`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1744:16: a reference to `Unboxed`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1765:18: a reference to `Deep`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1787:21: a reference to `Slotted`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1806:20: a reference to `Shared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1823:20: a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1836:26: a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1851:22: a reference to `Compared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1868:22: a reference to `Enclosing`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1884:17: a reference to `Chosen`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1897:19: a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:1912:21: a reference to `Wrapped>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there -- fixtures/reject/src/lib.rs:2086:13: a reference to `std::option::Option>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1632:18: a reference to `std::cell::UnsafeCell`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1710:26: a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1728:22: a reference to `Behind`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1743:16: a reference to `Unboxed`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1764:18: a reference to `Deep`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1786:21: a reference to `Slotted`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1805:20: a reference to `Shared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1822:20: a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1835:26: a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1850:22: a reference to `Compared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1867:22: a reference to `Enclosing`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1883:17: a reference to `Chosen`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1896:19: a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:1911:21: a reference to `Wrapped>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there +- fixtures/reject/src/lib.rs:2085:13: a reference to `std::option::Option>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there
a cast from a pointer to `_` to one to `_`, which reads the bytes of one type as another (6) -- fixtures/reject/src/lib.rs:533:27: a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another -- fixtures/reject/src/lib.rs:2155:13: a cast from a pointer to `u32` to one to `[u32; 2]`, which reads the bytes of one type as another -- fixtures/reject/src/lib.rs:2310:15: a cast from a pointer to `u8` to one to `u32`, which reads the bytes of one type as another -- fixtures/reject/src/lib.rs:2311:16: a cast from a pointer to `u8` to one to `Halves`, which reads the bytes of one type as another -- fixtures/reject/src/lib.rs:2313:15: a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another -- fixtures/reject/src/lib.rs:2338:12: a cast from a pointer to `u8` to one to `u32`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:532:27: a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:2154:13: a cast from a pointer to `u32` to one to `[u32; 2]`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:2309:15: a cast from a pointer to `u8` to one to `u32`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:2310:16: a cast from a pointer to `u8` to one to `Halves`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:2312:15: a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:2337:12: a cast from a pointer to `u8` to one to `u32`, which reads the bytes of one type as another
`_` with a mutable reference to a value JS copies, which its mapping would copy (5) -- fixtures/reject/src/lib.rs:1213:22: `std::iter::once` with a mutable reference to a value JS copies, which its mapping would copy -- fixtures/reject/src/lib.rs:1615:13: `core::str::::get_unchecked_mut` with a mutable reference to a value JS copies, which its mapping would copy -- fixtures/reject/src/lib.rs:1620:20: `std::str::from_utf8_mut` with a mutable reference to a value JS copies, which its mapping would copy -- fixtures/reject/src/lib.rs:2095:4: `std::collections::LinkedList::::retain` with a mutable reference to a value JS copies, which its mapping would copy -- fixtures/reject/src/lib.rs:2097:2: `std::default::Default::default` with a mutable reference to a value JS copies, which its mapping would copy +- fixtures/reject/src/lib.rs:1212:22: `std::iter::once` with a mutable reference to a value JS copies, which its mapping would copy +- fixtures/reject/src/lib.rs:1614:13: `core::str::::get_unchecked_mut` with a mutable reference to a value JS copies, which its mapping would copy +- fixtures/reject/src/lib.rs:1619:20: `std::str::from_utf8_mut` with a mutable reference to a value JS copies, which its mapping would copy +- fixtures/reject/src/lib.rs:2094:4: `std::collections::LinkedList::::retain` with a mutable reference to a value JS copies, which its mapping would copy +- fixtures/reject/src/lib.rs:2096:2: `std::default::Default::default` with a mutable reference to a value JS copies, which its mapping would copy
a raw pointer to `_` in an element, a payload, or a union field, which is not supported yet (5) -- fixtures/reject/src/lib.rs:657:10: a raw pointer to `(u32, u32)` in an element, a payload, or a union field, which is not supported yet -- fixtures/reject/src/lib.rs:1704:15: a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet -- fixtures/reject/src/lib.rs:1704:18: a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet -- fixtures/reject/src/lib.rs:1704:37: a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet -- fixtures/reject/src/lib.rs:1704:44: a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:656:10: a raw pointer to `(u32, u32)` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:1703:15: a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:1703:18: a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:1703:37: a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:1703:44: a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet
memory from `alloc` cast to pointers to `_` and to `_`, which reads the bytes of one type as another (5) -- fixtures/reject/src/lib.rs:2324:7: memory from `alloc` cast to pointers to `u32` and to `i32`, which reads the bytes of one type as another -- fixtures/reject/src/lib.rs:2325:11: memory from `alloc` cast to pointers to `i32` and to `u32`, which reads the bytes of one type as another -- fixtures/reject/src/lib.rs:2327:17: memory from `alloc` cast to pointers to `i32` and to `u32`, which reads the bytes of one type as another -- fixtures/reject/src/lib.rs:2328:21: memory from `alloc` cast to pointers to `u32` and to `i32`, which reads the bytes of one type as another -- fixtures/reject/src/lib.rs:2330:17: memory from `alloc` cast to pointers to `i32` and to `u32`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:2323:7: memory from `alloc` cast to pointers to `u32` and to `i32`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:2324:11: memory from `alloc` cast to pointers to `i32` and to `u32`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:2326:17: memory from `alloc` cast to pointers to `i32` and to `u32`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:2327:21: memory from `alloc` cast to pointers to `u32` and to `i32`, which reads the bytes of one type as another +- fixtures/reject/src/lib.rs:2329:17: memory from `alloc` cast to pointers to `i32` and to `u32`, which reads the bytes of one type as another
@@ -659,7 +657,7 @@ The type or module each refused type or path belongs to. - fixtures/reject/src/lib.rs:83:2: an assignment through a reference to `std::sync::MutexGuard<'_, u8>` - fixtures/reject/src/lib.rs:107:2: an assignment through a reference to `std::pin::Pin>>` - fixtures/reject/src/lib.rs:214:2: an assignment through a reference to `std::pin::Pin<&mut Noisy>` -- fixtures/reject/src/lib.rs:2291:2: an assignment through a reference to `std::sync::LazyLock` +- fixtures/reject/src/lib.rs:2290:2: an assignment through a reference to `std::sync::LazyLock` @@ -667,47 +665,47 @@ The type or module each refused type or path belongs to. - fixtures/reject/src/lib.rs:21:4: `slice::fill` of `Reused`, whose `clone_from` is its own, which is not supported yet - fixtures/reject/src/lib.rs:271:4: `slice::clone_from_slice` of `Reused`, whose `clone_from` is its own, which is not supported yet -- fixtures/reject/src/lib.rs:2249:4: `Clone::clone_from` of `std::vec::Vec`, whose `clone_from` is its own, which is not supported yet +- fixtures/reject/src/lib.rs:2248:4: `Clone::clone_from` of `std::vec::Vec`, whose `clone_from` is its own, which is not supported yet
a byte of memory from `alloc`, which JS keeps as the values a cast of its pointer types it as (3) -- fixtures/reject/src/lib.rs:546:3: a byte of memory from `alloc`, which JS keeps as the values a cast of its pointer types it as -- fixtures/reject/src/lib.rs:547:11: a byte of memory from `alloc`, which JS keeps as the values a cast of its pointer types it as -- fixtures/reject/src/lib.rs:2309:3: a byte of memory from `alloc`, which JS keeps as the values a cast of its pointer types it as +- fixtures/reject/src/lib.rs:545:3: a byte of memory from `alloc`, which JS keeps as the values a cast of its pointer types it as +- fixtures/reject/src/lib.rs:546:11: a byte of memory from `alloc`, which JS keeps as the values a cast of its pointer types it as +- fixtures/reject/src/lib.rs:2308:3: a byte of memory from `alloc`, which JS keeps as the values a cast of its pointer types it as
a copy between pointers to `_`, which JS keeps as an object that knows no array it is in (3) +- fixtures/reject/src/lib.rs:1687:3: a copy between pointers to `[u8; 4]`, which JS keeps as an object that knows no array it is in - fixtures/reject/src/lib.rs:1688:3: a copy between pointers to `[u8; 4]`, which JS keeps as an object that knows no array it is in -- fixtures/reject/src/lib.rs:1689:3: a copy between pointers to `[u8; 4]`, which JS keeps as an object that knows no array it is in -- fixtures/reject/src/lib.rs:2140:3: a copy between pointers to `(u8, u8)`, which JS keeps as an object that knows no array it is in +- fixtures/reject/src/lib.rs:2139:3: a copy between pointers to `(u8, u8)`, which JS keeps as an object that knows no array it is in
a copy of a closure that changes what it captured (3) - fixtures/reject/src/lib.rs:224:14: a copy of a closure that changes what it captured -- fixtures/reject/src/lib.rs:492:14: a copy of a closure that changes what it captured -- fixtures/reject/src/lib.rs:493:14: a copy of a closure that changes what it captured +- fixtures/reject/src/lib.rs:485:14: a copy of a closure that changes what it captured +- fixtures/reject/src/lib.rs:486:14: a copy of a closure that changes what it captured
a slice or a cell of a mutable reference to `_` that names no place, which a whole write would replace only there (3) -- fixtures/reject/src/lib.rs:2244:2: a slice or a cell of a mutable reference to `Reused` that names no place, which a whole write would replace only there -- fixtures/reject/src/lib.rs:2286:3: a slice or a cell of a mutable reference to `std::cell::LazyCell` that names no place, which a whole write would replace only there -- fixtures/reject/src/lib.rs:2297:2: a slice or a cell of a mutable reference to `std::thread::LocalKey` that names no place, which a whole write would replace only there +- fixtures/reject/src/lib.rs:2243:2: a slice or a cell of a mutable reference to `Reused` that names no place, which a whole write would replace only there +- fixtures/reject/src/lib.rs:2285:3: a slice or a cell of a mutable reference to `std::cell::LazyCell` that names no place, which a whole write would replace only there +- fixtures/reject/src/lib.rs:2296:2: a slice or a cell of a mutable reference to `std::thread::LocalKey` that names no place, which a whole write would replace only there
an offset of a pointer to `_`, which JS keeps as an object that knows no array it is in (3) -- fixtures/reject/src/lib.rs:1691:56: an offset of a pointer to `[u8; 4]`, which JS keeps as an object that knows no array it is in -- fixtures/reject/src/lib.rs:1691:73: an offset of a pointer to `[u8; 4]`, which JS keeps as an object that knows no array it is in -- fixtures/reject/src/lib.rs:2139:13: an offset of a pointer to `(u8, u8)`, which JS keeps as an object that knows no array it is in +- fixtures/reject/src/lib.rs:1690:56: an offset of a pointer to `[u8; 4]`, which JS keeps as an object that knows no array it is in +- fixtures/reject/src/lib.rs:1690:73: an offset of a pointer to `[u8; 4]`, which JS keeps as an object that knows no array it is in +- fixtures/reject/src/lib.rs:2138:13: an offset of a pointer to `(u8, u8)`, which JS keeps as an object that knows no array it is in
@@ -750,50 +748,43 @@ The type or module each refused type or path belongs to.
`_`, a trait object of the generic trait `_`, which is not supported yet (2) -- fixtures/reject/src/lib.rs:442:23: `dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet -- fixtures/reject/src/lib.rs:443:4: `dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet +- fixtures/reject/src/lib.rs:435:23: `dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet +- fixtures/reject/src/lib.rs:436:4: `dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet
`offset_from` between a pointer into a value in no array and one into a value in no array, which JS keeps in different arrays (2) -- fixtures/reject/src/lib.rs:2203:5: `offset_from` between a pointer into a value in no array and one into a value in no array, which JS keeps in different arrays -- fixtures/reject/src/lib.rs:2204:26: `offset_from` between a pointer into a value in no array and one into a value in no array, which JS keeps in different arrays +- fixtures/reject/src/lib.rs:2202:5: `offset_from` between a pointer into a value in no array and one into a value in no array, which JS keeps in different arrays +- fixtures/reject/src/lib.rs:2203:26: `offset_from` between a pointer into a value in no array and one into a value in no array, which JS keeps in different arrays
`offset_from` between a pointer into an array of this body's own and one into an array of this body's own, which JS keeps in different arrays (2) -- fixtures/reject/src/lib.rs:2205:24: `offset_from` between a pointer into an array of this body's own and one into an array of this body's own, which JS keeps in different arrays -- fixtures/reject/src/lib.rs:2206:23: `offset_from` between a pointer into an array of this body's own and one into an array of this body's own, which JS keeps in different arrays - -
- -
a coercion to `_`, which is not supported yet (2) - -- fixtures/reject/src/lib.rs:433:40: a coercion to `std::sync::Weak`, which is not supported yet -- fixtures/reject/src/lib.rs:469:30: a coercion to `&Tail`, which is not supported yet +- fixtures/reject/src/lib.rs:2204:24: `offset_from` between a pointer into an array of this body's own and one into an array of this body's own, which JS keeps in different arrays +- fixtures/reject/src/lib.rs:2205:23: `offset_from` between a pointer into an array of this body's own and one into an array of this body's own, which JS keeps in different arrays
a pointer reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust (2) -- fixtures/reject/src/lib.rs:2228:18: a pointer reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust -- fixtures/reject/src/lib.rs:2231:21: a pointer reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust +- fixtures/reject/src/lib.rs:2227:18: a pointer reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust +- fixtures/reject/src/lib.rs:2230:21: a pointer reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust
a raw or mutable slice of a byte in no array of bytes (2) -- fixtures/reject/src/lib.rs:2214:12: a raw or mutable slice of a byte in no array of bytes -- fixtures/reject/src/lib.rs:2215:19: a raw or mutable slice of a byte in no array of bytes +- fixtures/reject/src/lib.rs:2213:12: a raw or mutable slice of a byte in no array of bytes +- fixtures/reject/src/lib.rs:2214:19: a raw or mutable slice of a byte in no array of bytes
a raw pointer to a place of `()`, which has no address of its own (2) -- fixtures/reject/src/lib.rs:706:15: a raw pointer to a place of `()`, which has no address of its own -- fixtures/reject/src/lib.rs:706:29: a raw pointer to a place of `()`, which has no address of its own +- fixtures/reject/src/lib.rs:705:15: a raw pointer to a place of `()`, which has no address of its own +- fixtures/reject/src/lib.rs:705:29: a raw pointer to a place of `()`, which has no address of its own
@@ -804,10 +795,17 @@ The type or module each refused type or path belongs to. +
an upcast from `_` to `_`, which is not supported yet (2) + +- fixtures/reject/src/lib.rs:503:32: an upcast from `dyn Keyed` to `dyn std::any::Any`, which is not supported yet +- fixtures/reject/src/lib.rs:509:46: an upcast from `dyn Keyed` to `dyn std::any::Any`, which is not supported yet + +
+
comparing pointers to `_`, each a place JS makes of its own (2) -- fixtures/reject/src/lib.rs:574:2: comparing pointers to `u32`, each a place JS makes of its own -- fixtures/reject/src/lib.rs:2123:2: comparing pointers to `u32`, each a place JS makes of its own +- fixtures/reject/src/lib.rs:573:2: comparing pointers to `u32`, each a place JS makes of its own +- fixtures/reject/src/lib.rs:2122:2: comparing pointers to `u32`, each a place JS makes of its own
@@ -821,7 +819,7 @@ The type or module each refused type or path belongs to.
passing `_`, which drops, to `_`, which is not supported yet (2) - fixtures/reject/src/lib.rs:304:4: passing `{closure@fixtures/reject/src/lib.rs:304:13: 304:27}`, which drops, to `str::contains`, which is not supported yet -- fixtures/reject/src/lib.rs:762:4: passing `{closure@fixtures/reject/src/lib.rs:762:11: 762:19}`, which drops, to `String::retain`, which is not supported yet +- fixtures/reject/src/lib.rs:761:4: passing `{closure@fixtures/reject/src/lib.rs:761:11: 761:19}`, which drops, to `String::retain`, which is not supported yet
@@ -834,7 +832,7 @@ The type or module each refused type or path belongs to.
`Buf::copy_to_bytes` of `_`, a value JS copies, which is not supported (1) -- fixtures/reject/src/lib.rs:739:2: `Buf::copy_to_bytes` of `Blank`, a value JS copies, which is not supported +- fixtures/reject/src/lib.rs:738:2: `Buf::copy_to_bytes` of `Blank`, a value JS copies, which is not supported
@@ -858,7 +856,7 @@ The type or module each refused type or path belongs to.
`Extend` of `_` by `_`, whose `_` of `_` is not supported yet (1) -- fixtures/reject/src/lib.rs:1250:31: `Extend` of `(std::vec::Vec, Tens)` by `(u8, u8)`, whose `Tens` of `u8` is not supported yet +- fixtures/reject/src/lib.rs:1249:31: `Extend` of `(std::vec::Vec, Tens)` by `(u8, u8)`, whose `Tens` of `u8` is not supported yet
@@ -882,7 +880,7 @@ The type or module each refused type or path belongs to.
`_` is not supported: its field `_` is `_`, typed `_`, whose `Pending` would be `rt.OuterPending` as `_` (1) -- fixtures/reject/src/lib.rs:480:2: `Waiting>` is not supported: its field `poll` is `Poll`, typed `rt.Poll`, whose `Pending` would be `rt.OuterPending` as `Poll>` +- fixtures/reject/src/lib.rs:473:2: `Waiting>` is not supported: its field `poll` is `Poll`, typed `rt.Poll`, whose `Pending` would be `rt.OuterPending` as `Poll>`
@@ -894,7 +892,7 @@ The type or module each refused type or path belongs to.
`_` of `_`, which is not supported yet (1) -- fixtures/reject/src/lib.rs:516:4: `std::any::Any::type_id` of `dyn std::any::Any`, which is not supported yet +- fixtures/reject/src/lib.rs:515:4: `std::any::Any::type_id` of `dyn std::any::Any`, which is not supported yet
@@ -906,13 +904,13 @@ The type or module each refused type or path belongs to.
`clone_from` of `_`, whose items' `clone_from` is their own, which is not supported yet (1) -- fixtures/reject/src/lib.rs:2096:4: `clone_from` of `std::collections::LinkedList`, whose items' `clone_from` is their own, which is not supported yet +- fixtures/reject/src/lib.rs:2095:4: `clone_from` of `std::collections::LinkedList`, whose items' `clone_from` is their own, which is not supported yet
`collect` of `_`, which sorts by `_`'s own `Ord`, of entries that drop, which is not supported yet (1) -- fixtures/reject/src/lib.rs:933:22: `collect` of `std::collections::BTreeMap, Noisy>`, which sorts by `std::cell::Cell`'s own `Ord`, of entries that drop, which is not supported yet +- fixtures/reject/src/lib.rs:932:22: `collect` of `std::collections::BTreeMap, Noisy>`, which sorts by `std::cell::Cell`'s own `Ord`, of entries that drop, which is not supported yet
@@ -924,25 +922,25 @@ The type or module each refused type or path belongs to.
`offset_from` between a pointer into a shared slice JS copies and one into a value in no array, which JS keeps in different arrays (1) -- fixtures/reject/src/lib.rs:2208:21: `offset_from` between a pointer into a shared slice JS copies and one into a value in no array, which JS keeps in different arrays +- fixtures/reject/src/lib.rs:2207:21: `offset_from` between a pointer into a shared slice JS copies and one into a value in no array, which JS keeps in different arrays
`offset_from` between a pointer into a shared slice JS copies and one into an array of this body's own, which JS keeps in different arrays (1) -- fixtures/reject/src/lib.rs:2207:20: `offset_from` between a pointer into a shared slice JS copies and one into an array of this body's own, which JS keeps in different arrays +- fixtures/reject/src/lib.rs:2206:20: `offset_from` between a pointer into a shared slice JS copies and one into an array of this body's own, which JS keeps in different arrays
`offset_from` of pointers to `()`, which has no bytes (1) -- fixtures/reject/src/lib.rs:2150:13: `offset_from` of pointers to `()`, which has no bytes +- fixtures/reject/src/lib.rs:2149:13: `offset_from` of pointers to `()`, which has no bytes
`offset_from` of pointers to `_`, which JS keeps as an object that knows no array it is in (1) -- fixtures/reject/src/lib.rs:2143:36: `offset_from` of pointers to `(u8, u8)`, which JS keeps as an object that knows no array it is in +- fixtures/reject/src/lib.rs:2142:36: `offset_from` of pointers to `(u8, u8)`, which JS keeps as an object that knows no array it is in
@@ -970,21 +968,27 @@ The type or module each refused type or path belongs to. +
a coercion to `_`, which is not supported yet (1) + +- fixtures/reject/src/lib.rs:462:30: a coercion to `&Tail`, which is not supported yet + +
+
a constant of type `_`, a pointer into memory translation can't name (1) -- fixtures/reject/src/lib.rs:756:3: a constant of type `&u32`, a pointer into memory translation can't name +- fixtures/reject/src/lib.rs:755:3: a constant of type `&u32`, a pointer into memory translation can't name
a copy reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust (1) -- fixtures/reject/src/lib.rs:2226:3: a copy reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust +- fixtures/reject/src/lib.rs:2225:3: a copy reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust
a dangling pointer to `_`, a value of no bytes made of more than structs and tuples (1) -- fixtures/reject/src/lib.rs:715:11: a dangling pointer to `Only`, a value of no bytes made of more than structs and tuples +- fixtures/reject/src/lib.rs:714:11: a dangling pointer to `Only`, a value of no bytes made of more than structs and tuples
@@ -996,7 +1000,7 @@ The type or module each refused type or path belongs to.
a mapped guard of `_`, which JS can't write in place (1) -- fixtures/reject/src/lib.rs:2130:10: a mapped guard of `{closure@fixtures/reject/src/lib.rs:2129:38: 2129:50}`, which JS can't write in place +- fixtures/reject/src/lib.rs:2129:10: a mapped guard of `{closure@fixtures/reject/src/lib.rs:2128:38: 2128:50}`, which JS can't write in place
@@ -1014,25 +1018,25 @@ The type or module each refused type or path belongs to.
a pointer into `_`, which JS keeps as an object that knows no array it is in (1) -- fixtures/reject/src/lib.rs:2137:12: a pointer into `(u8, u8)`, which JS keeps as an object that knows no array it is in +- fixtures/reject/src/lib.rs:2136:12: a pointer into `(u8, u8)`, which JS keeps as an object that knows no array it is in
a pointer into an array of `_`, which JS keeps as an object that knows no array it is in (1) -- fixtures/reject/src/lib.rs:2142:30: a pointer into an array of `(u8, u8)`, which JS keeps as an object that knows no array it is in +- fixtures/reject/src/lib.rs:2141:30: a pointer into an array of `(u8, u8)`, which JS keeps as an object that knows no array it is in
a pointer reaching past a value in no array, which JS keeps apart from what holds it in Rust (1) -- fixtures/reject/src/lib.rs:2230:27: a pointer reaching past a value in no array, which JS keeps apart from what holds it in Rust +- fixtures/reject/src/lib.rs:2229:27: a pointer reaching past a value in no array, which JS keeps apart from what holds it in Rust
a pointer's address, which JS has no counterpart of (1) -- fixtures/reject/src/lib.rs:538:17: a pointer's address, which JS has no counterpart of +- fixtures/reject/src/lib.rs:537:17: a pointer's address, which JS has no counterpart of
@@ -1044,13 +1048,13 @@ The type or module each refused type or path belongs to.
a raw pointer to `_` behind a reference, which is the object and not where it is kept (1) -- fixtures/reject/src/lib.rs:555:10: a raw pointer to `std::vec::Vec` behind a reference, which is the object and not where it is kept +- fixtures/reject/src/lib.rs:554:10: a raw pointer to `std::vec::Vec` behind a reference, which is the object and not where it is kept
a reference through which a raw pointer may be made into `_` in an element, a payload, or a union field, which is not supported yet (1) -- fixtures/reject/src/lib.rs:1342:11: a reference through which a raw pointer may be made into `InPayload` in an element, a payload, or a union field, which is not supported yet +- fixtures/reject/src/lib.rs:1341:11: a reference through which a raw pointer may be made into `InPayload` in an element, a payload, or a union field, which is not supported yet
@@ -1062,37 +1066,31 @@ The type or module each refused type or path belongs to.
a slice from a pointer to `_`, which JS keeps as an object that knows no array it is in (1) -- fixtures/reject/src/lib.rs:2141:11: a slice from a pointer to `(u8, u8)`, which JS keeps as an object that knows no array it is in +- fixtures/reject/src/lib.rs:2140:11: a slice from a pointer to `(u8, u8)`, which JS keeps as an object that knows no array it is in
a slice of `()`, which has no bytes, from a pointer (1) -- fixtures/reject/src/lib.rs:2150:39: a slice of `()`, which has no bytes, from a pointer +- fixtures/reject/src/lib.rs:2149:39: a slice of `()`, which has no bytes, from a pointer
a slice of one byte's place, which a byte slice can view only in an array of bytes (1) -- fixtures/reject/src/lib.rs:2238:2: a slice of one byte's place, which a byte slice can view only in an array of bytes +- fixtures/reject/src/lib.rs:2237:2: a slice of one byte's place, which a byte slice can view only in an array of bytes
a slice reaching past a value in no array, which JS keeps apart from what holds it in Rust (1) -- fixtures/reject/src/lib.rs:2229:6: a slice reaching past a value in no array, which JS keeps apart from what holds it in Rust +- fixtures/reject/src/lib.rs:2228:6: a slice reaching past a value in no array, which JS keeps apart from what holds it in Rust
a trait object of `_`, which is not supported yet (1) -- fixtures/reject/src/lib.rs:459:26: a trait object of `[u8; 4]`, which is not supported yet - -
- -
an upcast from `_` to `_`, which is not supported yet (1) - -- fixtures/reject/src/lib.rs:510:32: an upcast from `dyn Keyed` to `dyn std::any::Any`, which is not supported yet +- fixtures/reject/src/lib.rs:452:26: a trait object of `[u8; 4]`, which is not supported yet
@@ -1104,7 +1102,7 @@ The type or module each refused type or path belongs to.
comparing `_` (1) -- fixtures/reject/src/lib.rs:1690:41: comparing `*mut [u8; 4]` +- fixtures/reject/src/lib.rs:1689:41: comparing `*mut [u8; 4]`
@@ -1116,19 +1114,19 @@ The type or module each refused type or path belongs to.
comparing pointers to `_` in an atomic, which JS has no address of (1) -- fixtures/reject/src/lib.rs:755:15: comparing pointers to `u32` in an atomic, which JS has no address of +- fixtures/reject/src/lib.rs:754:15: comparing pointers to `u32` in an atomic, which JS has no address of
comparing pointers to `_`, which has no bytes and so no address of its own (1) -- fixtures/reject/src/lib.rs:706:70: comparing pointers to `Fused`, which has no bytes and so no address of its own +- fixtures/reject/src/lib.rs:705:70: comparing pointers to `Fused`, which has no bytes and so no address of its own
const generic types are not supported: `_` (1) -- fixtures/reject/src/lib.rs:2075:1: const generic types are not supported: `Block` +- fixtures/reject/src/lib.rs:2074:1: const generic types are not supported: `Block`
@@ -1146,7 +1144,7 @@ The type or module each refused type or path belongs to.
hashing `_` by its address, which JS has no counterpart of (1) -- fixtures/reject/src/lib.rs:1694:5: hashing `*const [u8; 4]` by its address, which JS has no counterpart of +- fixtures/reject/src/lib.rs:1693:5: hashing `*const [u8; 4]` by its address, which JS has no counterpart of
@@ -1158,6 +1156,6 @@ The type or module each refused type or path belongs to.
union `_`, whose fields overlap in `_` and `f64`, which JS keeps apart (1) -- fixtures/reject/src/lib.rs:560:1: union `Bits`, whose fields overlap in `u32` and `f64`, which JS keeps apart +- fixtures/reject/src/lib.rs:559:1: union `Bits`, whose fields overlap in `u32` and `f64`, which JS keeps apart
diff --git a/ts/fixtures/reject/expected.txt b/ts/fixtures/reject/expected.txt index 171074256..e77f786cf 100644 --- a/ts/fixtures/reject/expected.txt +++ b/ts/fixtures/reject/expected.txt @@ -25,9 +25,9 @@ replacing the value behind a reference to `std::pin::Pin>>` at fixtures/reject/src/lib.rs:107:2 replacing the value behind a reference to `std::pin::Pin>` at fixtures/reject/src/lib.rs:99:2 unsupported call to `std::ops::Range::::contains::` at fixtures/reject/src/lib.rs:160:8 -unsupported call to `std::ops::RangeTo::::contains::` at fixtures/reject/src/lib.rs:962:11 -unsupported call to ` as std::ops::RangeBounds>::contains::` at fixtures/reject/src/lib.rs:962:32 -unsupported call to `std::ops::Range::<&mut u8>::is_empty` at fixtures/reject/src/lib.rs:967:9 +unsupported call to `std::ops::RangeTo::::contains::` at fixtures/reject/src/lib.rs:961:11 +unsupported call to ` as std::ops::RangeBounds>::contains::` at fixtures/reject/src/lib.rs:961:32 +unsupported call to `std::ops::Range::<&mut u8>::is_empty` at fixtures/reject/src/lib.rs:966:9 a `skip` of `std::iter::Zip, {closure@fixtures/reject/src/lib.rs:201:27: 201:31}>, std::iter::Map, {closure@fixtures/reject/src/lib.rs:201:59: 201:63}>>`, a zip std reads by index, of items that drop, which is not supported yet at fixtures/reject/src/lib.rs:202:8 a `collect` in place of `std::iter::Map, {closure@fixtures/reject/src/lib.rs:208:32: 208:40}>, std::ops::Range>, {closure@fixtures/reject/src/lib.rs:209:24: 209:32}>`, a zip std reads by index, holding values that drop, which is not supported yet at fixtures/reject/src/lib.rs:209:40 an assignment through a reference to `std::pin::Pin<&mut Noisy>` at fixtures/reject/src/lib.rs:214:2 @@ -57,203 +57,203 @@ unsupported call to ` as std::cmp::PartialEq>::eq` unsupported call to `core::str::::parse::` at fixtures/reject/src/lib.rs:417:4 unsupported type `std::net::Ipv4Addr` from another crate at fixtures/reject/src/lib.rs:416:32 unsupported type `std::net::AddrParseError` from another crate at fixtures/reject/src/lib.rs:416:32 -a coercion to `std::sync::Weak`, which is not supported yet at fixtures/reject/src/lib.rs:433:40 -`dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet at fixtures/reject/src/lib.rs:442:23 -`dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet at fixtures/reject/src/lib.rs:443:4 -a trait object of `[u8; 4]`, which is not supported yet at fixtures/reject/src/lib.rs:459:26 -a coercion to `&Tail`, which is not supported yet at fixtures/reject/src/lib.rs:469:30 -`Waiting>` is not supported: its field `poll` is `Poll`, typed `rt.Poll`, whose `Pending` would be `rt.OuterPending` as `Poll>` at fixtures/reject/src/lib.rs:480:2 -a copy of a closure that changes what it captured at fixtures/reject/src/lib.rs:492:14 -a copy of a closure that changes what it captured at fixtures/reject/src/lib.rs:493:14 -an upcast from `dyn Keyed` to `dyn std::any::Any`, which is not supported yet at fixtures/reject/src/lib.rs:510:32 -`std::any::Any::type_id` of `dyn std::any::Any`, which is not supported yet at fixtures/reject/src/lib.rs:516:4 -unsupported call to `std::any::TypeId::of::` at fixtures/reject/src/lib.rs:516:17 -unsupported call to `::eq` at fixtures/reject/src/lib.rs:516:2 -a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:533:27 -a pointer's address, which JS has no counterpart of at fixtures/reject/src/lib.rs:538:17 -a byte of memory from `alloc`, which JS keeps as the values a cast of its pointer types it as at fixtures/reject/src/lib.rs:546:3 -a byte of memory from `alloc`, which JS keeps as the values a cast of its pointer types it as at fixtures/reject/src/lib.rs:547:11 -a raw pointer to `std::vec::Vec` behind a reference, which is the object and not where it is kept at fixtures/reject/src/lib.rs:555:10 -union `Bits`, whose fields overlap in `u32` and `f64`, which JS keeps apart at fixtures/reject/src/lib.rs:566:10 -comparing pointers to `u32`, each a place JS makes of its own at fixtures/reject/src/lib.rs:574:2 -comparing pointers to `u32`, each a place JS makes of its own at fixtures/reject/src/lib.rs:2123:2 -a raw pointer to `(u32, u32)` in `Span2`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:586:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:594:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:602:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:611:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:619:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:628:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:636:10 -a reference to `std::cell::UnsafeCell`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1633:18 -a raw pointer to `Target` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1647:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1660:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1675:10 -a reference to `Behind`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1729:22 -a reference to `Unboxed`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1744:16 -a reference to `Deep`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1765:18 -a reference to `Slotted`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1787:21 -a reference to `Shared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1806:20 -a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1823:20 -a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1836:26 -a reference to `Wrapped>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1912:21 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Replaced`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1935:20 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Swapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1953:20 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Taken`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1971:20 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Assigned`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1990:20 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Deeper`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2016:22 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Dynamic`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2040:20 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Closed`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2056:15 -a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `[std::cell::UnsafeCell; 2]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2069:20 -a reference to `Compared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1851:22 -a reference to `Enclosing`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1868:22 -a reference to `Chosen`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1884:17 -a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1897:19 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:979:26 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:992:22 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1002:12 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1011:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1021:17 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1026:10 -a raw pointer to `(u32, u32)` in `Window`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:647:2 -a raw pointer to `(u32, u32)` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:657:10 -a raw pointer to `(u32, u32)` in `std::cell::UnsafeCell<(u32, u32)>`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:665:15 -a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:674:15 -a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:687:15 -a raw pointer to `std::cell::UnsafeCell` in `Hits`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:698:21 -a raw pointer to a place of `()`, which has no address of its own at fixtures/reject/src/lib.rs:706:15 -a raw pointer to a place of `()`, which has no address of its own at fixtures/reject/src/lib.rs:706:29 -comparing pointers to `Fused`, which has no bytes and so no address of its own at fixtures/reject/src/lib.rs:706:70 -a dangling pointer to `Only`, a value of no bytes made of more than structs and tuples at fixtures/reject/src/lib.rs:715:11 -`Buf::copy_to_bytes` of `Blank`, a value JS copies, which is not supported at fixtures/reject/src/lib.rs:739:2 -unsupported call to ` as std::iter::Iterator>::is_sorted` at fixtures/reject/src/lib.rs:744:15 -comparing pointers to `u32` in an atomic, which JS has no address of at fixtures/reject/src/lib.rs:755:15 -a constant of type `&u32`, a pointer into memory translation can't name at fixtures/reject/src/lib.rs:756:3 -passing `{closure@fixtures/reject/src/lib.rs:762:11: 762:19}`, which drops, to `String::retain`, which is not supported yet at fixtures/reject/src/lib.rs:762:4 -a raw pointer to `(u32, u32)` in `Plain`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:804:10 -a raw pointer to `(u32, u32)` in `Track`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:830:19 -a raw pointer to `(u32, u32)` in `Lane`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:850:19 +`dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet at fixtures/reject/src/lib.rs:435:23 +`dyn Scaled`, a trait object of the generic trait `Scaled`, which is not supported yet at fixtures/reject/src/lib.rs:436:4 +a trait object of `[u8; 4]`, which is not supported yet at fixtures/reject/src/lib.rs:452:26 +a coercion to `&Tail`, which is not supported yet at fixtures/reject/src/lib.rs:462:30 +`Waiting>` is not supported: its field `poll` is `Poll`, typed `rt.Poll`, whose `Pending` would be `rt.OuterPending` as `Poll>` at fixtures/reject/src/lib.rs:473:2 +a copy of a closure that changes what it captured at fixtures/reject/src/lib.rs:485:14 +a copy of a closure that changes what it captured at fixtures/reject/src/lib.rs:486:14 +an upcast from `dyn Keyed` to `dyn std::any::Any`, which is not supported yet at fixtures/reject/src/lib.rs:503:32 +an upcast from `dyn Keyed` to `dyn std::any::Any`, which is not supported yet at fixtures/reject/src/lib.rs:509:46 +`std::any::Any::type_id` of `dyn std::any::Any`, which is not supported yet at fixtures/reject/src/lib.rs:515:4 +unsupported call to `std::any::TypeId::of::` at fixtures/reject/src/lib.rs:515:17 +unsupported call to `::eq` at fixtures/reject/src/lib.rs:515:2 +a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:532:27 +a pointer's address, which JS has no counterpart of at fixtures/reject/src/lib.rs:537:17 +a byte of memory from `alloc`, which JS keeps as the values a cast of its pointer types it as at fixtures/reject/src/lib.rs:545:3 +a byte of memory from `alloc`, which JS keeps as the values a cast of its pointer types it as at fixtures/reject/src/lib.rs:546:11 +a raw pointer to `std::vec::Vec` behind a reference, which is the object and not where it is kept at fixtures/reject/src/lib.rs:554:10 +union `Bits`, whose fields overlap in `u32` and `f64`, which JS keeps apart at fixtures/reject/src/lib.rs:565:10 +comparing pointers to `u32`, each a place JS makes of its own at fixtures/reject/src/lib.rs:573:2 +comparing pointers to `u32`, each a place JS makes of its own at fixtures/reject/src/lib.rs:2122:2 +a raw pointer to `(u32, u32)` in `Span2`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:585:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:593:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:601:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:610:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:618:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:627:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:635:10 +a reference to `std::cell::UnsafeCell`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1632:18 +a raw pointer to `Target` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1646:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1659:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1674:10 +a reference to `Behind`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1728:22 +a reference to `Unboxed`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1743:16 +a reference to `Deep`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1764:18 +a reference to `Slotted`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1786:21 +a reference to `Shared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1805:20 +a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1822:20 +a reference to `Inside`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1835:26 +a reference to `Wrapped>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1911:21 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Replaced`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1934:20 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Swapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1952:20 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Taken`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1970:20 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Assigned`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1989:20 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Deeper`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2015:22 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Dynamic`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2039:20 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `Closed`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2055:15 +a reference through which a raw pointer may be made into `std::cell::UnsafeCell` in `[std::cell::UnsafeCell; 2]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2068:20 +a reference to `Compared`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1850:22 +a reference to `Enclosing`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1867:22 +a reference to `Chosen`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1883:17 +a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1896:19 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:978:26 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:991:22 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1001:12 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1010:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1020:17 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1025:10 +a raw pointer to `(u32, u32)` in `Window`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:646:2 +a raw pointer to `(u32, u32)` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:656:10 +a raw pointer to `(u32, u32)` in `std::cell::UnsafeCell<(u32, u32)>`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:664:15 +a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:673:15 +a raw pointer to `std::cell::UnsafeCell` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:686:15 +a raw pointer to `std::cell::UnsafeCell` in `Hits`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:697:21 +a raw pointer to a place of `()`, which has no address of its own at fixtures/reject/src/lib.rs:705:15 +a raw pointer to a place of `()`, which has no address of its own at fixtures/reject/src/lib.rs:705:29 +comparing pointers to `Fused`, which has no bytes and so no address of its own at fixtures/reject/src/lib.rs:705:70 +a dangling pointer to `Only`, a value of no bytes made of more than structs and tuples at fixtures/reject/src/lib.rs:714:11 +`Buf::copy_to_bytes` of `Blank`, a value JS copies, which is not supported at fixtures/reject/src/lib.rs:738:2 +unsupported call to ` as std::iter::Iterator>::is_sorted` at fixtures/reject/src/lib.rs:743:15 +comparing pointers to `u32` in an atomic, which JS has no address of at fixtures/reject/src/lib.rs:754:15 +a constant of type `&u32`, a pointer into memory translation can't name at fixtures/reject/src/lib.rs:755:3 +passing `{closure@fixtures/reject/src/lib.rs:761:11: 761:19}`, which drops, to `String::retain`, which is not supported yet at fixtures/reject/src/lib.rs:761:4 +a raw pointer to `(u32, u32)` in `Plain`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:803:10 +a raw pointer to `(u32, u32)` in `Track`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:829:19 +a raw pointer to `(u32, u32)` in `Lane`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:849:19 +a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:885:10 a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:886:10 -a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:887:10 -a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:888:58 +a raw pointer to `(u32, u32)` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:887:58 +a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:899:19 a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:900:19 -a raw pointer to `std::mem::MaybeUninit<(u32, u32)>` in `Gap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:901:19 -`collect` of `std::collections::BTreeMap, Noisy>`, which sorts by `std::cell::Cell`'s own `Ord`, of entries that drop, which is not supported yet at fixtures/reject/src/lib.rs:933:22 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Looped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1088:26 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Aliased`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1098:29 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Rewritten`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1108:47 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Loaded`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1120:29 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Mapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1165:39 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Repeated`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1199:18 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Onced`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1211:46 -`std::iter::once` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1213:22 -a raw pointer to `(u16, u16)` in `Pushed`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1226:22 -`Extend` of `(std::vec::Vec, Tens)` by `(u8, u8)`, whose `Tens` of `u8` is not supported yet at fixtures/reject/src/lib.rs:1250:31 -unsupported call to `core::num::::is_ascii_octdigit` at fixtures/reject/src/lib.rs:1255:4 -a reference through which a raw pointer may be made into `InArray` in `[InArray; 2]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1315:33 -a reference through which a raw pointer may be made into `InTuple` in `(u16, InTuple)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1324:33 -a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1333:34 -a reference through which a raw pointer may be made into `InPayload` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1342:11 -a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1354:33 -a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1367:35 -a reference through which a raw pointer may be made into `InWritten` in `[InWritten; 1]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1376:35 -a raw pointer to `std::cell::UnsafeCell` in `ByRead`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1433:35 -a raw pointer to `std::cell::UnsafeCell` in `ByWrite`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1446:35 -a raw pointer to `std::cell::UnsafeCell` in `BySwap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1459:35 -a raw pointer to `std::cell::UnsafeCell` in `ByReplace`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1471:35 -a raw pointer to `std::cell::UnsafeCell` in `ByBox`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1482:35 -a raw pointer to `std::cell::UnsafeCell` in `ByClosure`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1497:35 -a raw pointer to `std::cell::UnsafeCell` in `ByObject`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1510:35 -a raw pointer to `std::cell::UnsafeCell` in `ByInstance`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1523:35 -a raw pointer to `std::cell::UnsafeCell` in `BySwapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1532:76 -a raw pointer to `std::cell::UnsafeCell` in `ByExchanged`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1543:30 -a raw pointer to `ByRefReplace` in `(u16, ByRefReplace)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1575:32 -a raw pointer to `ByRefTake` in `(u16, ByRefTake)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1583:32 -a raw pointer to `ByKeySet` in `(u16, ByKeySet)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1591:51 -a raw pointer to `ByKeyReplace` in `(u16, ByKeyReplace)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1599:55 -a raw pointer to `ByKeyTake` in `(u16, ByKeyTake)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1606:52 -unsupported call to `core::str::::as_bytes_mut` at fixtures/reject/src/lib.rs:1614:13 -`core::str::::get_unchecked_mut` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1615:13 -`std::str::from_utf8_mut` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1620:20 +`collect` of `std::collections::BTreeMap, Noisy>`, which sorts by `std::cell::Cell`'s own `Ord`, of entries that drop, which is not supported yet at fixtures/reject/src/lib.rs:932:22 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Looped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1087:26 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Aliased`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1097:29 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Rewritten`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1107:47 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Loaded`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1119:29 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Mapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1164:39 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Repeated`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1198:18 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Onced`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1210:46 +`std::iter::once` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1212:22 +a raw pointer to `(u16, u16)` in `Pushed`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1225:22 +`Extend` of `(std::vec::Vec, Tens)` by `(u8, u8)`, whose `Tens` of `u8` is not supported yet at fixtures/reject/src/lib.rs:1249:31 +unsupported call to `core::num::::is_ascii_octdigit` at fixtures/reject/src/lib.rs:1254:4 +a reference through which a raw pointer may be made into `InArray` in `[InArray; 2]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1314:33 +a reference through which a raw pointer may be made into `InTuple` in `(u16, InTuple)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1323:33 +a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1332:34 +a reference through which a raw pointer may be made into `InPayload` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1341:11 +a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1353:33 +a reference through which a raw pointer may be made into `Mid` in `Outer`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1366:35 +a reference through which a raw pointer may be made into `InWritten` in `[InWritten; 1]`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1375:35 +a raw pointer to `std::cell::UnsafeCell` in `ByRead`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1432:35 +a raw pointer to `std::cell::UnsafeCell` in `ByWrite`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1445:35 +a raw pointer to `std::cell::UnsafeCell` in `BySwap`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1458:35 +a raw pointer to `std::cell::UnsafeCell` in `ByReplace`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1470:35 +a raw pointer to `std::cell::UnsafeCell` in `ByBox`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1481:35 +a raw pointer to `std::cell::UnsafeCell` in `ByClosure`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1496:35 +a raw pointer to `std::cell::UnsafeCell` in `ByObject`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1509:35 +a raw pointer to `std::cell::UnsafeCell` in `ByInstance`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1522:35 +a raw pointer to `std::cell::UnsafeCell` in `BySwapped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1531:76 +a raw pointer to `std::cell::UnsafeCell` in `ByExchanged`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1542:30 +a raw pointer to `ByRefReplace` in `(u16, ByRefReplace)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1574:32 +a raw pointer to `ByRefTake` in `(u16, ByRefTake)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1582:32 +a raw pointer to `ByKeySet` in `(u16, ByKeySet)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1590:51 +a raw pointer to `ByKeyReplace` in `(u16, ByKeyReplace)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1598:55 +a raw pointer to `ByKeyTake` in `(u16, ByKeyTake)`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1605:52 +unsupported call to `core::str::::as_bytes_mut` at fixtures/reject/src/lib.rs:1613:13 +`core::str::::get_unchecked_mut` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1614:13 +`std::str::from_utf8_mut` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:1619:20 +a copy between pointers to `[u8; 4]`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:1687:3 a copy between pointers to `[u8; 4]`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:1688:3 -a copy between pointers to `[u8; 4]`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:1689:3 -unsupported call to `std::ptr::addr_eq::<[u8; 4], [u8; 4]>` at fixtures/reject/src/lib.rs:1690:14 -comparing `*mut [u8; 4]` at fixtures/reject/src/lib.rs:1690:41 -an offset of a pointer to `[u8; 4]`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:1691:56 -an offset of a pointer to `[u8; 4]`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:1691:73 -hashing `*const [u8; 4]` by its address, which JS has no counterpart of at fixtures/reject/src/lib.rs:1694:5 -a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1704:15 -a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1704:18 -a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1704:37 -a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1704:44 -a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1711:26 -a raw pointer to `[u8; 4]` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1711:26 -a raw pointer to `[u8; 4]` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1712:10 -const generic types are not supported: `Block` at fixtures/reject/src/lib.rs:2079:21 -`std::collections::LinkedList::::retain` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:2095:4 -`clone_from` of `std::collections::LinkedList`, whose items' `clone_from` is their own, which is not supported yet at fixtures/reject/src/lib.rs:2096:4 -`std::default::Default::default` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:2097:2 -a mapped guard of `{closure@fixtures/reject/src/lib.rs:2129:38: 2129:50}`, which JS can't write in place at fixtures/reject/src/lib.rs:2130:10 -a pointer into `(u8, u8)`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:2137:12 -an offset of a pointer to `(u8, u8)`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:2139:13 -a copy between pointers to `(u8, u8)`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:2140:3 -a slice from a pointer to `(u8, u8)`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:2141:11 -a pointer into an array of `(u8, u8)`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:2142:30 -`offset_from` of pointers to `(u8, u8)`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:2143:36 -`offset_from` of pointers to `()`, which has no bytes at fixtures/reject/src/lib.rs:2150:13 -a slice of `()`, which has no bytes, from a pointer at fixtures/reject/src/lib.rs:2150:39 -a cast from a pointer to `u32` to one to `[u32; 2]`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2155:13 -a raw pointer to `[u32; 3]` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2168:10 -a raw pointer to `[u32; 3]` in `Lanes`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2170:10 -`offset_from` between a pointer into a value in no array and one into a value in no array, which JS keeps in different arrays at fixtures/reject/src/lib.rs:2203:5 -`offset_from` between a pointer into a value in no array and one into a value in no array, which JS keeps in different arrays at fixtures/reject/src/lib.rs:2204:26 -`offset_from` between a pointer into an array of this body's own and one into an array of this body's own, which JS keeps in different arrays at fixtures/reject/src/lib.rs:2205:24 -`offset_from` between a pointer into an array of this body's own and one into an array of this body's own, which JS keeps in different arrays at fixtures/reject/src/lib.rs:2206:23 -`offset_from` between a pointer into a shared slice JS copies and one into an array of this body's own, which JS keeps in different arrays at fixtures/reject/src/lib.rs:2207:20 -`offset_from` between a pointer into a shared slice JS copies and one into a value in no array, which JS keeps in different arrays at fixtures/reject/src/lib.rs:2208:21 -a raw or mutable slice of a byte in no array of bytes at fixtures/reject/src/lib.rs:2214:12 -a raw or mutable slice of a byte in no array of bytes at fixtures/reject/src/lib.rs:2215:19 -a copy reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust at fixtures/reject/src/lib.rs:2226:3 -a pointer reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust at fixtures/reject/src/lib.rs:2228:18 -a slice reaching past a value in no array, which JS keeps apart from what holds it in Rust at fixtures/reject/src/lib.rs:2229:6 -a pointer reaching past a value in no array, which JS keeps apart from what holds it in Rust at fixtures/reject/src/lib.rs:2230:27 -a pointer reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust at fixtures/reject/src/lib.rs:2231:21 -a slice of one byte's place, which a byte slice can view only in an array of bytes at fixtures/reject/src/lib.rs:2238:2 -a slice or a cell of a mutable reference to `Reused` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2244:2 -`Clone::clone_from` of `std::vec::Vec`, whose `clone_from` is its own, which is not supported yet at fixtures/reject/src/lib.rs:2249:4 -unsupported call to `std::mem::size_of_val::` at fixtures/reject/src/lib.rs:2254:2 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2260:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2268:10 -a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2276:10 -a slice or a cell of a mutable reference to `std::cell::LazyCell` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2286:3 -an assignment through a reference to `std::sync::LazyLock` at fixtures/reject/src/lib.rs:2291:2 -a slice or a cell of a mutable reference to `std::thread::LocalKey` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2297:2 -a byte of memory from `alloc`, which JS keeps as the values a cast of its pointer types it as at fixtures/reject/src/lib.rs:2309:3 -a cast from a pointer to `u8` to one to `u32`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2310:15 -a cast from a pointer to `u8` to one to `Halves`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2311:16 -a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2313:15 -unsupported call to `std::alloc::alloc_zeroed` at fixtures/reject/src/lib.rs:2338:13 -a cast from a pointer to `u8` to one to `u32`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2338:12 -memory from `alloc` cast to pointers to `u32` and to `i32`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2324:7 -memory from `alloc` cast to pointers to `i32` and to `u32`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2325:11 -memory from `alloc` cast to pointers to `i32` and to `u32`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2327:17 -memory from `alloc` cast to pointers to `u32` and to `i32`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2328:21 -memory from `alloc` cast to pointers to `i32` and to `u32`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2330:17 +unsupported call to `std::ptr::addr_eq::<[u8; 4], [u8; 4]>` at fixtures/reject/src/lib.rs:1689:14 +comparing `*mut [u8; 4]` at fixtures/reject/src/lib.rs:1689:41 +an offset of a pointer to `[u8; 4]`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:1690:56 +an offset of a pointer to `[u8; 4]`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:1690:73 +hashing `*const [u8; 4]` by its address, which JS has no counterpart of at fixtures/reject/src/lib.rs:1693:5 +a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1703:15 +a raw pointer to `[u8; 3]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1703:18 +a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1703:37 +a raw pointer to `[u8; 2]` in an element, a payload, or a union field, which is not supported yet at fixtures/reject/src/lib.rs:1703:44 +a reference to `[u8; 4]`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:1710:26 +a raw pointer to `[u8; 4]` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1710:26 +a raw pointer to `[u8; 4]` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:1711:10 +const generic types are not supported: `Block` at fixtures/reject/src/lib.rs:2078:21 +`std::collections::LinkedList::::retain` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:2094:4 +`clone_from` of `std::collections::LinkedList`, whose items' `clone_from` is their own, which is not supported yet at fixtures/reject/src/lib.rs:2095:4 +`std::default::Default::default` with a mutable reference to a value JS copies, which its mapping would copy at fixtures/reject/src/lib.rs:2096:2 +a mapped guard of `{closure@fixtures/reject/src/lib.rs:2128:38: 2128:50}`, which JS can't write in place at fixtures/reject/src/lib.rs:2129:10 +a pointer into `(u8, u8)`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:2136:12 +an offset of a pointer to `(u8, u8)`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:2138:13 +a copy between pointers to `(u8, u8)`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:2139:3 +a slice from a pointer to `(u8, u8)`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:2140:11 +a pointer into an array of `(u8, u8)`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:2141:30 +`offset_from` of pointers to `(u8, u8)`, which JS keeps as an object that knows no array it is in at fixtures/reject/src/lib.rs:2142:36 +`offset_from` of pointers to `()`, which has no bytes at fixtures/reject/src/lib.rs:2149:13 +a slice of `()`, which has no bytes, from a pointer at fixtures/reject/src/lib.rs:2149:39 +a cast from a pointer to `u32` to one to `[u32; 2]`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2154:13 +a raw pointer to `[u32; 3]` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2167:10 +a raw pointer to `[u32; 3]` in `Lanes`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2169:10 +`offset_from` between a pointer into a value in no array and one into a value in no array, which JS keeps in different arrays at fixtures/reject/src/lib.rs:2202:5 +`offset_from` between a pointer into a value in no array and one into a value in no array, which JS keeps in different arrays at fixtures/reject/src/lib.rs:2203:26 +`offset_from` between a pointer into an array of this body's own and one into an array of this body's own, which JS keeps in different arrays at fixtures/reject/src/lib.rs:2204:24 +`offset_from` between a pointer into an array of this body's own and one into an array of this body's own, which JS keeps in different arrays at fixtures/reject/src/lib.rs:2205:23 +`offset_from` between a pointer into a shared slice JS copies and one into an array of this body's own, which JS keeps in different arrays at fixtures/reject/src/lib.rs:2206:20 +`offset_from` between a pointer into a shared slice JS copies and one into a value in no array, which JS keeps in different arrays at fixtures/reject/src/lib.rs:2207:21 +a raw or mutable slice of a byte in no array of bytes at fixtures/reject/src/lib.rs:2213:12 +a raw or mutable slice of a byte in no array of bytes at fixtures/reject/src/lib.rs:2214:19 +a copy reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust at fixtures/reject/src/lib.rs:2225:3 +a pointer reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust at fixtures/reject/src/lib.rs:2227:18 +a slice reaching past a value in no array, which JS keeps apart from what holds it in Rust at fixtures/reject/src/lib.rs:2228:6 +a pointer reaching past a value in no array, which JS keeps apart from what holds it in Rust at fixtures/reject/src/lib.rs:2229:27 +a pointer reaching past a shared slice JS copies, which JS keeps apart from what holds it in Rust at fixtures/reject/src/lib.rs:2230:21 +a slice of one byte's place, which a byte slice can view only in an array of bytes at fixtures/reject/src/lib.rs:2237:2 +a slice or a cell of a mutable reference to `Reused` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2243:2 +`Clone::clone_from` of `std::vec::Vec`, whose `clone_from` is its own, which is not supported yet at fixtures/reject/src/lib.rs:2248:4 +unsupported call to `std::mem::size_of_val::` at fixtures/reject/src/lib.rs:2253:2 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2259:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2267:10 +a raw pointer to `(u32, u32)` in a variable assigned again while it may point there at fixtures/reject/src/lib.rs:2275:10 +a slice or a cell of a mutable reference to `std::cell::LazyCell` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2285:3 +an assignment through a reference to `std::sync::LazyLock` at fixtures/reject/src/lib.rs:2290:2 +a slice or a cell of a mutable reference to `std::thread::LocalKey` that names no place, which a whole write would replace only there at fixtures/reject/src/lib.rs:2296:2 +a byte of memory from `alloc`, which JS keeps as the values a cast of its pointer types it as at fixtures/reject/src/lib.rs:2308:3 +a cast from a pointer to `u8` to one to `u32`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2309:15 +a cast from a pointer to `u8` to one to `Halves`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2310:16 +a cast from a pointer to `u32` to one to `u8`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2312:15 +unsupported call to `std::alloc::alloc_zeroed` at fixtures/reject/src/lib.rs:2337:13 +a cast from a pointer to `u8` to one to `u32`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2337:12 +memory from `alloc` cast to pointers to `u32` and to `i32`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2323:7 +memory from `alloc` cast to pointers to `i32` and to `u32`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2324:11 +memory from `alloc` cast to pointers to `i32` and to `u32`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2326:17 +memory from `alloc` cast to pointers to `u32` and to `i32`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2327:21 +memory from `alloc` cast to pointers to `i32` and to `u32`, which reads the bytes of one type as another at fixtures/reject/src/lib.rs:2329:17 overriding `Iterator::fold`, which std's adaptors call in place of `next` or beside it at fixtures/reject/src/lib.rs:125:2 an iterator of the crate implementing `DoubleEndedIterator`, which is not supported yet at fixtures/reject/src/lib.rs:145:1 overriding `Iterator::size_hint`, which std's adaptors call in place of `next` or beside it at fixtures/reject/src/lib.rs:173:2 an iterator of the crate implementing `FusedIterator`, which is not supported yet at fixtures/reject/src/lib.rs:193:1 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Escaped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1050:43 -a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Called`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1064:28 -a raw pointer to `(u16, u16)` in `Copied`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1154:31 -a raw pointer to `std::cell::UnsafeCell` in `InArray`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1280:9 -a raw pointer to `std::cell::UnsafeCell` in `InTuple`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1284:9 -a raw pointer to `std::cell::UnsafeCell` in `InNested`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1288:9 -a raw pointer to `std::cell::UnsafeCell` in `InPayload`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1292:9 -a raw pointer to `std::cell::UnsafeCell` in `InField`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1296:9 -a raw pointer to `std::cell::UnsafeCell` in `InGeneric`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1300:9 -a raw pointer to `std::cell::UnsafeCell` in `InWritten`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1304:9 -a reference to `std::option::Option>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:2086:13 -a raw pointer to `(u8, u8)` in `([Cloned; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2345:23 -a raw pointer to `(u8, u8)` in `(Dropped, (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2345:23 -a raw pointer to `(u8, u8)` in `([Greatest; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2401:13 -a raw pointer to `(u8, u8)` in `([Touched; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2345:23 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Escaped`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1049:43 +a raw pointer to `std::cell::UnsafeCell<(u16, u16)>` in `Called`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1063:28 +a raw pointer to `(u16, u16)` in `Copied`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1153:31 +a raw pointer to `std::cell::UnsafeCell` in `InArray`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1279:9 +a raw pointer to `std::cell::UnsafeCell` in `InTuple`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1283:9 +a raw pointer to `std::cell::UnsafeCell` in `InNested`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1287:9 +a raw pointer to `std::cell::UnsafeCell` in `InPayload`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1291:9 +a raw pointer to `std::cell::UnsafeCell` in `InField`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1295:9 +a raw pointer to `std::cell::UnsafeCell` in `InGeneric`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1299:9 +a raw pointer to `std::cell::UnsafeCell` in `InWritten`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:1303:9 +a reference to `std::option::Option>`, through which a raw pointer may be made, in a variable assigned again while that pointer may point there at fixtures/reject/src/lib.rs:2085:13 +a raw pointer to `(u8, u8)` in `([Cloned; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2344:23 +a raw pointer to `(u8, u8)` in `(Dropped, (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2344:23 +a raw pointer to `(u8, u8)` in `([Greatest; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2400:13 +a raw pointer to `(u8, u8)` in `([Touched; 2], (u8, u8))`, which the crate may put another object in place of at fixtures/reject/src/lib.rs:2344:23