Boost logo

Boost :

From: Matthias Troyer (troyer_at_[hidden])
Date: 2006-11-12 08:27:34


Hi Beman, hi all

Due to recent changes to the filesystem library now, the header
detail/identifier.hpp is now included in my projects and contains the
dangerous code segment:

   template <class Ostream, class Id>
     typename enable_if< is_base_of< identifier< typename
Id::value_type, Id >, Id >,
       Ostream & >::type operator<<( Ostream & os, const Id & id )
   {
     return os << id.value();
   }

which breaks all of my codes, since I have a type Id, that has a type
member Id::value_type which is an abstract base class. My compiler
(Apple gcc-4.0) now tries to instantiate identifier< typename
Id::value_type, Id >, which fails because Id::value_type is abstract,
and the compiler aborts with an error message.

This causes all of our codes to fail to compile with the current CVS
head

Matthias


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk