blob: 2935febd6da7c30b9eda9ebdd4d389ee3bd07b97 [file]
#![feature(no_core, lang_items)]
#![no_core]
#[lang = "sized"]
pub trait Sized {}
#[lang = "partial_ord"]
trait PartialOrd<Rhs: ?Sized = Self> {
fn lt(&self, rhs: &Rhs) -> bool;
}
impl PartialOrd for i8 {
fn lt(&self, other: &i8) -> bool {
*self < *other
}
}
impl<A: ?Sized, B: ?Sized> PartialOrd<&B> for &A
where
A: PartialOrd<B>,
{
fn lt(&self, other: &&B) -> bool {
PartialOrd::lt(*self, *other)
}
}
fn main() -> i32 {
let a = 1i8;
let b = 2i8;
if !(a < b) || b < a {
return 1;
}
if !(&a < &b) || &b < &a {
return 2;
}
0
}