chiark
/
gitweb
/
~ian
/
rust-experiments.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
190fa48
)
assertc
author
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Mon, 5 Jun 2023 18:16:21 +0000
(19:16 +0100)
committer
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Mon, 5 Jun 2023 18:16:21 +0000
(19:16 +0100)
src/main.rs
patch
|
blob
|
history
diff --git
a/src/main.rs
b/src/main.rs
index 959fa1bbeaf5e78c2f0c387e209779b489b579c1..9123ceafad0883bef50f9642518bc5416e0b01d9 100644
(file)
--- a/
src/main.rs
+++ b/
src/main.rs
@@
-26,6
+26,8
@@
impl HasPseudoMethods for Frog {
// table. I'm not sure if that's needed.
fn get_caster(&self, tp: TypeId) -> Option<&'static dyn Any> {
if tp == TypeId::of::<&'static dyn HasFeet>() {
+ fn assert_static<X: 'static>(_: X) { }
+ let _ = |x: Box<dyn HasFeet + '_>| assert_static(x);
static CASTER: fn(&dyn HasPseudoMethods) -> &dyn HasFeet = |self_| {
let self_: &dyn Any = Downcast::as_any(self_);
let self_: &Frog = self_.downcast_ref().unwrap();