Project

General

Profile

Necessary Maintenance #10364

Attempt to declare non-InResults data products in art::Results should throw.

Added by Christopher Green about 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Category:
I/O
Target version:
Start date:
09/30/2015
Due date:
% Done:

100%

Estimated time:
Spent time:
Scope:
Internal
Experiment:
-
SSI Package:
art
Duration:

Description

It is currently possible for a (mis-)user of ResultsProducer to declare e.g. an InEvent product via art::Results::produces(). However, they will be unable to put() the product. The system will likely throw at the end of the appropriate OutputModule::event(), but we should be able to detect the error and throw before then.

Associated revisions

Revision 72038c1a (diff)
Added by Christopher Green about 5 years ago

Fix issue #10364.

Deprecate 2-template-argument produces() call, and enforce second
argument == art::InResults.

Implement single-template-argument produces() call, requiring only product
type.

Revision 2902fba3 (diff)
Added by Christopher Green about 5 years ago

Fix issue #10364.

Deprecate 2-template-argument produces() call, and enforce second
argument == art::InResults.

Implement single-template-argument produces() call, requiring only product
type.

History

#1 Updated by Christopher Green about 5 years ago

  • Subject changed from Attempt to declare non-@InResults@ data products in @art::Results@ should throw. to Attempt to declare non-InResults data products in art::Results should throw.

#2 Updated by Christopher Green about 5 years ago

This should be detectable at compile-time, with an actual implementation of produces<>() that wraps art::ProductRegistryHelper::produces() and invokes static_assert.

#3 Updated by Christopher Green about 5 years ago

  • Project changed from cet-is to art
  • Category set to I/O
  • Status changed from New to Resolved
  • Assignee set to Christopher Green
  • Target version set to 1.18.00
  • % Done changed from 0 to 100

Implemented with 72038c1.

#4 Updated by Christopher Green about 5 years ago

  • Target version changed from 1.18.00 to 1.16.02

#5 Updated by Christopher Green about 5 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF