What is a synthesized attribute?

A synthesized attribute is computed or derived from other attributes and/or associations.

Synthesized attributes are not modifiable.

Here are the current synthesized attributes:

class definition:
	class is template

expression (and its derived semels):
	expression is callable
	expression is constant
	expression is dependent
	expression type
	expression value category

function (and its derived semels):
	function is template
	function type
	function value category

many semels:
	has side-effect

initialization (and its derived semels):
	initialization is constant

initializer (and its derived semels):
	initializer is constant
	initializer is dependent

type (and its derived semels):
	type is aggregate
	type is callable
	type is dependent
	type is literal

variable (and its derived semels):
	variable type
	variable value category

Each semel has 0 or more synthesized attributes.