Merging from trunk

svn path=/branches/release/libs/optional/; revision=84745