or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
Coherence Issue 57893
This hackmd is tracking regressions from PR #66037, which is a proposed fix for #57893. For each affected crate, we are scraping the logs to extract the "overlapping impl". In some cases, the impl comes from an upstream crate, but in other cases it's local.
One question: This unsoundness ultimately relies on associated types. I wonder if there is some room to be…clever here in the absence of associated types? Virtually all affected traits have no associated types, if not all.
Regressions starting with
A
impl<T: ?Sized + Any + Serialize ..> ActorMessage for T
linkRegressions starting with
B
serde_custom::flatten::ToJson
cannot be made into an object (source)impl<T: ?Sized> ToJson for T where T: Serialize
(source)Regressions starting with
C
impl<T: ?Sized> FnClone for T where T: Fn() -> String + CloneIntoBox {}
Regressions starting with
D
util::ReadSeek
cannot be made into an objectpub trait ReadSeek: Read + Seek {}
impl<T: ?Sized> ReadSeek for T where T: Read + Seek {}
Any
in stdlib?impl<T: ?Sized> Any for T where T: StdAny
Regressions starting with
E
ser::Serialize
cannot be made into an objectimpl<T: ?Sized> Serialize for T where T: serde::Serialize,
(source)serde::Serialize
is not object safe, but it feels like we can't rely on that; what if we broadened the set of object safe traits in the future?systems::sms::inbox::InboxGetDebugger
cannot be made into an object (source)impl<T> InboxGetDebugger for T where T: ?Sized + Z80Inbox + GetDebugger, {}
(source)hardware::sms_vdp::vdp_interface::SmsVdpInterface
cannot be made into an object (source)impl<T: ?Sized> SmsVdpInterface for T where T: SmsVdpInternal
(source)Regressions starting with
G
Matcher
cannot be made into an object (source)impl<'a, T:'a, F> Matcher<'a,T> for F where F: Fn(&'a T) -> MatchResult + ?Sized
(source)value::ToValue
cannot be made into an object (source)impl<T: ?Sized + SetValue> ToValue for T
(source)-
T = dyn ToValue
is not a problem, asdyn ToValue: SetValue
does not applyT = (dyn ToValue + SetValue)
SetValue
, soSetValue::set_value
would still dynamically dispatchbase::types::Walker
cannot be made into an object (source)impl<'a, F: ?Sized> Walker<'a, ArcKind> for F where F: FnMut(&ArcKind)
(source)impl<'a, I, T, F> Walker<'a, T> for F where F: ?Sized + FnMut(&'a T), T: Deref<Target = Type<I, T>> + 'a, I: 'a
(source)Regressions starting with
L
any::value::Value
cannot be made into an object (source)impl<T: ?Sized + ValueConstraint> Value for T
(source)Any
dyn Any
, the downcast would failany::key::Key
cannot be made into an object (source)impl<T: ?Sized + KeyConstraint> Key for T
(source)dyn Key + KeyConstraint
, it'd be okdyn Key
(on its own) meets the impl requirements?Regressions starting with
M
fmt::debug::MaybeDebug
cannot be made into an object (source)impl<T> MaybeDebug for T where T: ?Sized
hasdefault
(source)impl<T> MaybeDebug for T where T: fmt::Debug + ?Sized
(source)msiz_rustc_ap_rustc_data_structures::sync::Send
cannot be made into an object (source)impl<T: ?Sized> Send for T {}
(source)msiz_rustc_ap_rustc_data_structures::sync::Sync
cannot be made into an object (source)impl<T: ?Sized> Sync for T {}
(source)Regressions starting with
R
Foo
cannot be made into an objectimpl<T: ?Sized> Foo for T {}
any::Any
cannot be made into an object (source)impl<T> Any for T where T: Clone + StdAny + ?Sized
(source)rustc_ap_rustc_data_structures::sync::Send
cannot be made into an object (source)impl<T: ?Sized> Send for T {}
(source)rustc_ap_rustc_data_structures::sync::Sync
cannot be made into an object (source)impl<T: ?Sized> Sync for T {}
(source)Regressions starting with
S
serenity#1c9ce11: log
serenity-0.5.10: log
serenity-0.5.11: log
serenity-0.5.12: log
serenity-0.5.13: log
framework::standard::command::Command
cannot be made into an object (source)impl<F> Command for F where F: Fn(&mut Context, &Message, Args) -> Result<(), Error> + Send + Sync + ?Sized + 'static
? (source)slog-0.7.0: log
ser::Serializer
cannot be made into an object (source)impl<W: io::Write + ?Sized> Serializer for W
(source)slog-2.0.12: log
slog-2.0.6: log
slog-2.1.1: log
slog-2.2.3: log
slog-2.3.2: log
slog-2.3.3: log
slog-2.4.1: log
slog-2.5.0: log
slog-2.5.2: log
MapErrFn
cannot be made into an object (source)impl<T, EI, EO> MapErrFn<EI, EO> for T where T: 'static + Sync + Send + ?Sized + UnwindSafe + RefUnwindSafe + Fn(EI) -> EO {}
(source)SendSyncRefUnwindSafeKV
cannot be made into an object (source)impl<T> SendSyncRefUnwindSafeKV for T where T: KV + Send + Sync + RefUnwindSafe + ?Sized {}
(source)SendSyncRefUnwindSafeDrain
cannot be made into an object (source)impl<T> SendSyncRefUnwindSafeDrain for T where T: Drain + Send + Sync + RefUnwindSafe + ?Sized, { }
(source)stwen77.interpreter.6f29cecd76e3d05ffac6be9e9ef6e26b78af63cc: log
module::any::Any
cannot be made into an object (source)impl<T> Any for T where T: Clone + StdAny + ?Sized
(source)Regressions starting with
T
geometry::BoundableGeom
cannot be made into an object (source)impl<T: ?Sized> BoundableGeom for T where T: Geometry + Boundable {}
(source)geometry::SampleableGeom
cannot be made into an object (source)impl<T: ?Sized> SampleableGeom for T where T: Geometry + Boundable + Sampleable {}
(source)