Fq2::is_empty always returns false. pub fn is_empty(&self) -> bool { self.0.is_empty() } self.0 is [Fq; 2] , which is always not empty. The methods Fq2::is_empty, Fq6::is_empty, and Fq12::is_empty always return false: