Skip to content

Commit

Permalink
add 3 ices
Browse files Browse the repository at this point in the history
  • Loading branch information
matthiaskrgr committed Jun 3, 2022
1 parent 24bd796 commit 371597a
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 0 deletions.
27 changes: 27 additions & 0 deletions ices/97695.sh
@@ -0,0 +1,27 @@
#!/bin/sh

rustc -Zmir-opt-level=3 --emit=mir - << EOF
pub trait Associate {
type Associated;
}
pub struct Wrap<'a> {
pub field: &'a i32,
}
pub trait Create<T> {
fn create() -> Self;
}
pub fn oh_no<'a, T>()
where
Wrap<'a>: Associate,
<Wrap<'a> as Associate>::Associated: Create<T>,
{
<Wrap<'a> as Associate>::Associated::create();
}
pub fn main() {}
EOF
9 changes: 9 additions & 0 deletions ices/97698.rs
@@ -0,0 +1,9 @@
use std::ffi::CString;

impl Lock {
pub fn new() {
if () == -1 {
CString::new();
}
}
}
24 changes: 24 additions & 0 deletions ices/97706.rs
@@ -0,0 +1,24 @@
pub fn compose(
f1: impl FnOnce(f64) -> f64 + Clone,
f2: impl FnOnce(f64) -> f64 + Clone,
) -> impl FnOnce(f64) -> f64 + Clone {
move |x| f1(f2(x))
}

pub fn double(f: impl FnOnce(f64) -> f64 + Clone) -> impl FnOnce(f64) -> f64 + Clone {
compose(f.clone(), f)
}


fn repeat_helper(f: impl FnOnce(f64) -> f64 + Clone, res: impl FnOnce(f64) -> f64 + Clone, times: usize) -> impl FnOnce(f64) -> f64 + Clone {
if times == 1 {
return res;
}
repeat_helper(f.clone(), compose(f, res), times - 1)
}

pub fn repeat(f: impl FnOnce(f64) -> f64 + Clone, times: usize) -> impl FnOnce(f64) -> f64 + Clone {
repeat_helper(f.clone(), f, times)
}

pub fn main() {}

0 comments on commit 371597a

Please sign in to comment.