seqan / product_backlog

This repository is used as product backlog for all SeqAn relevant backlog items. This is intended to organise the work for the team.
2 stars 1 forks source link

std::common_with requirement in seqan3::complement CPO triggers ICE #149

Open smehringer opened 4 years ago

smehringer commented 4 years ago

Description

The following triggers an ICE when compiling the bitcompressed_vector_test:

https://github.com/seqan/seqan3/blob/master/include/seqan3/alphabet/nucleotide/concept.hpp#L46

(Also see related PR https://github.com/seqan/seqan3/pull/1923)

Although the following works:

TEST(bitcompressed_vector_test, common_with_ice)
{
    EXPECT_TRUE((std::common_with<seqan3::bitcompressed_vector<seqan3::dna4>::reference, seqan3::dna4>));
    EXPECT_TRUE((std::common_with<seqan3::dna4, seqan3::bitcompressed_vector<seqan3::dna4>::reference>));
}

Acceptance Criteria

Code compiles

Tasks

Definition of Done

marehr commented 4 years ago

Which compiler? Isn't this a bug? This should then be a bug report in seqan/seqan3, or?

rrahn commented 4 years ago

Can you please add the missing line of code or the test case that triggers the ICE for reproduction. Also please add the missing compiler and system information as suggested by @marehr. Thank you.

smehringer commented 4 years ago

I included the line and the compiler

Isn't this a bug?

I am not sure because I did not have time to investigate. The Problem is, as mentioned in the description, that the concept check itself

EXPECT_TRUE((std::common_with<seqan3::bitcompressed_vector<seqan3::dna4>::reference, seqan3::dna4>));

Does not trigger the error. So it seems to be an issue of the CPO