// This module contains dead code. Its purpose is making sure that it compiles #![allow(dead_code)] use enso_prelude::*; #[derive(Clone,CloneRef)] struct StructUnit; #[derive(Clone,CloneRef)] struct StructUnnamedEmpty(); #[derive(Clone,CloneRef)] struct StructUnnamed(Rc,Rc); #[derive(Clone,CloneRef)] struct StructNamedEmpty{} #[derive(Clone,CloneRef)] struct StructNamed{named0:Rc,named1:Rc} #[derive(Clone,CloneRef)] enum EnumEmpty {} #[derive(Clone,CloneRef)] enum Enum { VariantUnit, VariantNamedEmpty {}, VariantNamed {named0:Rc,named1:Rc}, VariantUnnamedEmpty(), VariantUnnamed(Rc,Rc), } #[derive(CloneRef,Derivative)] #[derivative(Clone(bound=""))] struct StructUnnamedUnbound(Rc); #[derive(CloneRef,Clone)] #[clone_ref(bound="T:CloneRef")] struct StructUnnamedBound(T); #[derive(CloneRef,Clone)] #[clone_ref(bound="T:CloneRef,U:CloneRef")] struct StructUnnamedBoundTwoPatams(T,U); #[derive(Clone,CloneRef)] #[clone_ref(bound="T:Clone+Display")] struct StructBoundGeneric(Rc); #[derive(CloneRef,Derivative)] #[derivative(Clone(bound=""))] // Note: CloneRef "knows" about `Display` bound. struct StructGenericLifetime<'t>(Rc<&'t String>); #[derive(CloneRef,Derivative)] #[derivative(Clone(bound=""))] struct StructWhereClause(Rc) where T:Debug; #[derive(CloneRef,Clone)] #[clone_ref(bound="T:CloneRef")] // Here derive macro must correctly merge user-provided bound, generics list bound and where clause. struct StructVariousBounds(T) where T:Debug;